Pregunta

Escribí un pequeño guión de animación que desvanece un conjunto de rayas de izquierda a derecha. Después de que todas las animaciones se completen, se ejecutan funciones de devolución de llamada.

El guión está aquí:

http://jsfiddle.net/9zkbu/

Funciona bien, pero quiero hacer lo mismo para una animación de derecha a izquierda:

http://jsfiddle.net/ftrhx/

Como puede ver, la función de devolución de llamada se dispara antes de que termine la animación :( lo único que cambié es el delay(). ¿Qué estoy haciendo mal aquí? ¿Por qué se está ejecutando "completo" antes de que terminen todas las animaciones?

¿Fue útil?

Solución

Ya casi está allí, invirtió la dirección, pero olvidó la devolución de llamada para que también explique la inversión. Hacer esto funciona para mí:

complete: (i == 0) ? function(){alert('done');} : null

Debido a que está contando la otra dirección si intenta verificar completar en COLS, 1 lo obtendrá demasiado temprano, debe obtenerlo a las 0 aquí. Prueba este: http://jsfiddle.net/ftrhx/8/

Otros consejos

¡Miré sus vistas previas y estoy realmente impresionado! Aunque no entiendo por qué .stop() se necesita en la segunda función.

$('.col-' + i).delay(50 * (cols - i))

De esta manera también funciona bien, ¿o me estoy perdiendo algo?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top