Frage

Ich weiß, wie man wartet, bis eine Animation mit erledigt ist

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

und mit mehreren Elementen mit

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

Aber wie warte ich bis bis alle Von den Elementen auf der Seite werden animieren? Ich würde viel lieber nicht nur jedes Element einsetzen, auf das ich dort warte.

War es hilfreich?

Lösung

Um alles auszuwählen, was derzeit animiert wird, tun Sie einfach nur $(":animated") http://api.jquery.com/animated-selector/

Kombinieren Sie das mit dem, was Sie dort haben, wäre einfach nur

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

Andere Tipps

Die Antwort von Jeremy T funktioniert einwandfrei - obwohl er auf den Kommentaren auf der von ihm verlinkten JQuery -Site basiert (http://api.jquery.com/animated-selector/), es wäre eine schnellere Lösung, um jedem Element auf der Seite, das möglicherweise animiert ist

    $('.animationclass').filter(':animated').promise().done(function() {
//Your function
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top