2012-03-09 7 views
3

jqueryログインボックスを作成しようとしていますが、他のすべてのアニメーションが完了している場合にのみ、1つのフォームを表示します。すべてのアニメーションが完了したかどうかを確認する方法

私は複数の.is(':animated')のチェックを行うことができますが、すべてのアニメーションオブジェクトを選択する方法と、正確にゼロの要素を選択したかどうかを確認する方法がありますか?

ジャスパーさんのコメントを1として

答えて

7
if ($(":animated").length === 0) { 
    // do something 

} 

、とそれが:animated selector docoで述べている、あなたは、コンテナ要素を選択するか、そうでなければ:animatedを使用する前に、フィールドを絞り込むことで、パフォーマンスを向上させることができます。あなたはアニメーションの要素がの子孫になるコンテナを知っていれば、例えば、

if ($("#container").find(":animated").length === 0) { 

// OR 

if ($(".someClass").filter(":animated").length === 0) { 
+0

は、それはおそらくDOM内のすべてのノードを横断する必要がありますそうではない、そのコンテナを使用して選択を開始することをお勧めします。 – Jasper

+0

ありがとう@ジャスパー、はい、私はちょうどそれについて何かを言うかどうか疑問に思っていた。私は私の答えを更新しました。 – nnnnnn

+0

これはアニメーション化されている要素を見つけられないでしょうか?まだアニメーション化されていない要素があるかどうかを確認するためにfxキューをチェックしたくないですか? – j08691

関連する問題