このjsfiddleを参照してください:http://jsfiddle.net/kZA8D/
基本的に、リンクをすばやく通過/通過すると、college_boxとlanding_login_formの両方のdivが表示されます。再現には数回かかる場合がありますが、最終的には次のようになります。
どうしたの?シンプルなホバー機能がありますが、なぜこのグリッチが発生しているのかわかりません...
このjsfiddleを参照してください:http://jsfiddle.net/kZA8D/
基本的に、リンクをすばやく通過/通過すると、college_boxとlanding_login_formの両方のdivが表示されます。再現には数回かかる場合がありますが、最終的には次のようになります。
どうしたの?シンプルなホバー機能がありますが、なぜこのグリッチが発生しているのかわかりません...
更新されたリンク:http://jsfiddle.net/J67Dr/1/
そのキューイングの問題であり、この場合.stop()
、2つの異なる要素があるため、それをカットすることはありません。したがって、一方の要素が非表示になっているが、もう一方の要素がアニメーション化されている間もアニメーションがキューに入れられているシナリオになります。.stop()
ベストプラクティス.dequeue
としても、フィドルでの表示としても使用することをお勧めします。
オプション2
.stop
アイテム自体ではなく、ラッパー要素をフェードするだけで使用します。いくつかの奇妙さのために(コメントを参照)、オプション2をお勧めします。DOMを保持しようとしていましたが、まあ。
これは、他のアニメーションを追加した後もイベントキューにアニメーションが残っているために発生しています。.stop()
jQueryの関数を確認することをお勧めします。
基本的に、一方のアニメーションが開始してからもう一方のアニメーションが終了するということです。
これを解決するためにあなたのフィドルを更新しました。一秒。
別の回答で述べたように、キューにはアニメーションがあり、それらを削除しないため、経験したようにスタックします。これを修正する方法は.stop(true)
、メソッドを追加した要素のアニメーションを停止し、キューをクリアすることです(したがって、「真」)
このフィドル: http: //jsfiddle.net/kZA8D/4/ はそれを修正しますが(フィドルの小さな書き直し)、コールバック関数のためにバグがあります。