2011-11-30 12 views
19

sé lo que esperar hasta una animación se realiza conjQuery espera hasta que todas las animaciones de la página se realizan

$('#element').animate(speed,function(){ 
//code here 
}); 

y con múltiples elementos con

$('#element1, #element2').promise().done(function(){ 
//code here 
}); 

pero ¿cómo puedo esperar hasta todo de los elementos en la página se realizan animando? Prefiero no solo poner en cada elemento que estoy esperando allí.

Respuesta

44

Para seleccionar todo lo que se está animando Actualmente, acaba de hacer $(":animated") http://api.jquery.com/animated-selector/

combinando eso con lo que ya tiene allí, que acababa de ser

$(":animated").promise().done(function() { 
    //code here 
}); 
+1

¡Gracias! Eso pareció hacer el truco –

9

La respuesta dada por Jeremy T funciona bien - aunque basado en los comentarios en el sitio jquery enlazó (http://api.jquery.com/animated-selector/), sería una solución más rápida agregar una clase a cada elemento en la página que puede estar animada, y luego seleccionarlos usando

$('.animationclass').filter(':animated').promise().done(function() { 
//Your function 
}); 
Cuestiones relacionadas