Question

Je sais comment attendre jusqu'à ce que l'animation se fait avec

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

et avec de multiples éléments avec

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

mais comment dois-je attendre jusqu'à ce que tous des éléments de la page sont done animant? Je préférerais ne pas simplement mettre dans chaque élément que je suis en attente de là-bas.

Était-ce utile?

La solution

Pour sélectionner tout ce qui est en cours actuellement animé, il suffit de faire $(":animated") http://api.jquery.com/animated-selector/

En combinant cela avec ce que vous avez déjà, ce serait juste être

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

Autres conseils

La réponse donnée par Jeremy T fonctionne très bien - bien que sur la base des commentaires sur le site jquery il lié ( http: // api .jquery.com / animation sélecteur / ), ce serait une solution plus rapide pour ajouter une classe à chaque élément sur la page qui peut être animé, puis les sélectionner en utilisant

    $('.animationclass').filter(':animated').promise().done(function() {
//Your function
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top