web-dev-qa-db-ja.com

jQueryは、すべてのページアニメーションが完了するまで待機します

アニメーションが完了するまで待つ方法を知っています

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

と複数の要素で

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

しかし、ページ上の要素のallのアニメーション化が完了するまでどのように待つのですか?待っているすべての要素を入れるだけではありません。

現在アニメーション化されているものをすべて選択するには、$(":animated")http://api.jquery.com/animated-selector/ を実行します。

それをあなたがすでにそこに持っているものと組み合わせると、それはただ

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

Jeremy Tの回答は問題なく機能します-彼がリンクしたjqueryサイトのコメントに基づいていますが( http://api.jquery.com/animated-selector/ )、より高速なソリューションになりますアニメーション化される可能性のあるページ上の各要素にクラスを追加し、を使用してそれらを選択します

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