mousewheelイベントでマウスホイールを無効にしようとしていますが、アクションが完了した後にのみ有効にしています。JQuery - アニメーションが完了するまでスクロールホイールを無効にする
$(window).on('DOMMouseScroll mousewheel', function (event) {
//disable mousewhell until the following animation is complete
$('.box').animate({
margin: div_offset+'px 0 0 0'
}, 500);
//enable mousewhell
return false;
});
私はまた、アニメーションが完了するまで、最初の1の後に、すべてのスクロールを無視するようにコードをしたいと思います。この特殊なケースでは、ユーザーがマウスホイールで複数の目盛りをスクロールしても、アニメーションが1回だけ完了します。この場合、基本的にはマウスのスクロールを「ティック」した後、500ミリ秒間マウスホイールを無効にし、残りの「ティック」を登録しないようにします(ユーザが500ミリ秒間に10ティックスクロールすると、 1つのアニメーション、残りは無視されます)。 500ミリ秒後、再びマウスホイールを有効にします。
事前におねがいします。
何ページ内のスクロールバーを削除する(ページの高さがビューポートと同じであることを確認してください)、スクロールでアニメーションを開始しますか? –
マークされた重複をチェックアウトすると、アニメーション中に連続スクロールが発生した場合に、イベントを早めに積極的に戻すために使用できる変数を設定できる 'complete'が使用されます。 – Nope
彼はまた彼の質問のスクロール/スクロールホイールを無効にしたいので完全な複製ではありません –