Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

340
Vistas
Mi animación JS restablece su marginTop, pero no su marginLeft

Soy supernuevo en animaciones javascript. Acabo de descubrir cómo agregar el segundo movimiento a mi animación. Cuando se ejecuta la función funk() , la bola baja hacia la derecha. Cuando activa la función funktre() , la pelota va a su posición inicial marginTop pero mantiene su posición marginLeft . ¿Por qué vuelve a la cima? Quiero que la segunda animación, funktre() , mueva la bola desde la posición final de funk() .

 const ball = document.querySelector("#en"); ball.addEventListener("click", funk); function funk() { let id = null; let position = 0; clearInterval(id); id = setInterval(funkto, 5); function funkto() { if (position == 450) { clearInterval(id); funktre(); // sett en ny funksjon her } else { stop(); position++; ball.style.marginLeft = position + "px"; ball.style.marginTop = position + "px"; } } }; function stop() { ball.removeEventListener("click", funk); }; function funktre() { let idd = null; let pos = 0; clearInterval(idd); idd = setInterval(funkfire, 5); function funkfire() { if (pos == 200) { clearInterval(idd); // ny funksjon her } else { pos++; ball.style.marginTop = pos + "px"; } } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

"Quiero que la segunda animación, funktre, mueva la bola desde la posición final de funk()".

Entonces no deberías inicializar su posición inicial en cero, sino en su posición actual .

 function funktre() { let idd = null; let pos = parseInt(ball.style.marginTop); // set the initial pos to current pos clearInterval(idd); idd = setInterval(funkfire, 5); function funkfire() { if (pos == 200) { clearInterval(idd); // ny funksjon her } else { pos++; ball.style.marginTop = pos + "px"; } } }

Si tiene la intención de programar más animaciones, o incluso un videojuego, sugeriría almacenar la posición superior/izquierda de la bola en una variable global (a la que podría acceder desde cualquier ámbito).

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda