jQuery espera hasta que terminen todas las animaciones de página

1 minuto de lectura

Sé cómo esperar hasta que termine una animación con

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

y con múltiples elementos con

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

pero como espero hasta todos de los elementos de la página han terminado de animarse? Preferiría no solo poner todos los elementos que estoy esperando allí.

Avatar de usuario de Jeremy T
jeremy t

Para seleccionar todo lo que se está animando actualmente, simplemente haga $(":animated")
http://api.jquery.com/selector-animado/

Combinando eso con lo que ya tienes allí, simplemente sería

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

Avatar de usuario de Tony Carbone
Tony Carbone

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

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

¿Ha sido útil esta solución?