jQuery attente jusqu'à ce que toutes les animations de pages sont faites
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.
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
});