1

.click() イベントにバインドされた関数があります。ユーザーがクリックするたびに、ブラウザは現在の要素を fadeOut() し、新しい要素の marginLeft を animate() します。何らかの理由で、このクリックイベントにバインドされているボタンをすばやくクリックすると、Chrome でアニメーションがジャンプし、次のアニメーションに直接進みます (1 秒間に 5 回クリックした場合のみ) 追加しません。この場合、UI のユーザビリティに重大な問題が発生します。このシナリオのフォールバックはありますか? アニメーションが完成していない場合は、css() などで直接追加しますか?

ありがとう

E: click() イベントは、すべての魔法が起こる関数を呼び出します。

4

1 に答える 1

2

.stop()jquery のメソッドを調べることができます。要素で現在実行中のアニメーションを短縮できます。

簡単な例:

$myElement.on('click', function() {
    // first 'true' clears animations in the queue for this element
    // second 'true' completes the currently-running animation immediately
    $(this).stop(true, true).fadeOut();
});

http://api.jquery.com/stop/

于 2013-04-16T23:54:48.417 に答える