アニメーションが終わるまで待つ方法を知っている
$('#element').animate(speed,function(){
//code here
});
複数の要素を持つ
$('#element1, #element2').promise().done(function(){
//code here
});
しかし、ページ上のすべての要素のアニメーション化が完了するまで待つにはどうすればよいでしょうか? そこに待っているすべての要素を入れるだけではありません。
現在アニメーション化されているものをすべて選択するには、$(":animated")
http://api.jquery.com/animated-selector/を実行します。
それをあなたがすでに持っているものと組み合わせると、
$(":animated").promise().done(function() {
//code here
});
Jeremy T の回答は問題なく機能します。リンクした jquery サイト ( http://api.jquery.com/animated-selector/ )のコメントに基づいていますが、各要素にクラスを追加する方が高速なソリューションです。アニメーション化されている可能性のあるページで、
$('.animationclass').filter(':animated').promise().done(function() {
//Your function
});