アニメーションの発生中にリスト項目がクリックされないようにしています。したがって、クリック ハンドラーの上部で、次のようなことを行いたいと考えています。
if(!$(this).is(:animated)) {
// handle click code here
}
上記の if ステートメントの 'bang' (!) に注意してください。テストはしていませんが、これでうまくいくと思います。私が確信していないのは、「.is(:animated)」が、fadeIn() および fadeOut() によってアニメーション化されている要素に対して実行されたときに true を返すかどうかです。jQuery には .animate() 関数があることは知っています。その関数を使用してアニメーション化された要素に対して :animated が確実に機能すると思いますが、fadeIn() および fadeOut() を使用する要素でも機能しますか? ありがとう。
更新:いくつかの劇的な誤投稿の後、すべてがうまくいっているように見えます。すべての素晴らしいフォローアップと編集の返信者に感謝します. 最終的に、jQuery ソースは .animate() を使用してこれらの効果を実現しているため、:animated は、fadeIn() および fadeOut() を使用してアニメーション化された要素と一致することがわかりました。私の最終チェックは、最初に投稿されたとおりでした:
if(!$(this).is(:animated)) {
// handle click code here
}
..いくつかの例で提案されているように .not() を使用するのではなく (ただし、これらは現在投稿されているとおりに機能すると思います)。再度、感謝します。