0

私のサイトでコンパスのような機能を作成しましたが、それはメニュー項目を指しています。jQueryrotateプラグインを使用しています。

ただし、最初にサイトをロードしたとき、コンパスは問題なく動作しますが、数ターン後、スムーズなアニメーションではなくスキップし始めます。

各遷移が完了すると、要素のキューをクリアします。これは、要素を少しスムーズにしたように見えますが、それでもスキップします。誰もがこれを引き起こす可能性があることを知っていますか?ページを更新すると、再び正常に動作します。

編集:申し訳ありませんが、もちろんコードは役に立ちます。http://sitetest.kdmdesign.net

4

1 に答える 1

1

これは、アニメーショントリガーが短時間で何度も起動する可能性があるjQueryアニメーションでよく発生します。stop()を使用することは優れたセーフティネットですが、それでも十分でないことがよくあります。

私はイベントを「スロットル」して、手に負えないほど頻繁に発火するのを止めます。ベン・アルマンは、スロットルとデバウンスのための彼の同様に優れたjQueryプラグインの序文として、スロットルの優れた説明を書きました。

ああ—そして..。

特にコードが遅くなる理由は、ユーザーが内側のページラッパーにカーソルを合わせるたびに、イベントハンドラーが再アタッチされる(そしてデタッチされることはない)ためです。私はここでそれを微調整しました:

http://jsbin.com/welcome/59800/edit

于 2012-12-10T13:42:08.047 に答える