¿Es posible ejecutar dos animaciones en dos elementos diferentes simultáneamente? Necesito lo contrario de esta pregunta Jquery animaciones en cola .
Necesito hacer algo como esto ...
$('#first').animate({ width: 200 }, 200);
$('#second').animate({ width: 600 }, 200);
pero para correr esos dos al mismo tiempo. Lo único en lo que podía pensar sería usar setTimeout
una vez para cada animación, pero no creo que sea la mejor solución.
javascript
jquery
animation
Jakub Arnold
fuente
fuente
animate()
funciona, deberían ejecutarse simultáneamente.Respuestas:
¡sí hay!
fuente
queue
variable!Eso correría simultáneamente sí. ¿Qué pasaría si quisieras ejecutar dos animaciones en el mismo elemento simultáneamente?
Esto termina haciendo cola las animaciones. para ejecutarlos simultáneamente, usaría solo una línea.
¿Hay alguna otra forma de ejecutar dos animaciones diferentes en el mismo elemento simultáneamente?
fuente
Creo que encontré la solución en la documentación de jQuery:
sólo tiene que añadir:
queue: false
.fuente
Si ejecuta lo anterior tal como está, parecerá que se ejecuta simultáneamente.
Aquí hay un código de prueba:
fuente
Si bien es cierto que las llamadas consecutivas a animar darán la apariencia de que se están ejecutando al mismo tiempo, la verdad subyacente es que son animaciones distintas que se ejecutan muy cerca del paralelo.
Para asegurarse de que las animaciones se estén ejecutando al mismo tiempo, use:
Se pueden agregar más animaciones a la cola 'my-animation' y todas se pueden iniciar siempre que la última animación las elimine.
Saludos, Anthony
fuente
Vea esta brillante publicación de blog sobre la animación de valores en objetos ... ¡luego puede usar los valores para animar lo que quiera, 100% simultáneamente!
http://www.josscrowcroft.com/2011/code/jquery-animate-increment-decrement-numeric-text-elements-value/
Lo he usado así para deslizar dentro / fuera:
fuente
Al publicar mi respuesta para ayudar a alguien, la respuesta mejor calificada no resolvió mi reparo.
Cuando implementé lo siguiente [de la respuesta superior], mi animación de desplazamiento vertical simplemente se movió de un lado a otro:
Me referí a: W3 Schools Set Interval y resolvió mi problema, a saber, la sección 'Sintaxis':
Tener mis parámetros de la forma
{ duration: 200, queue: false }
forzó una duración de cero y solo miró los parámetros como guía.A largo y corto, aquí está mi código, si desea comprender por qué funciona, lea el enlace o analice los parámetros esperados del intervalo:
Donde 'autoScroll' es:
¡Feliz codificación!
fuente