0

ページのスクロールを検出し、使用が上下にスクロールしたときにコードを実行します。問題は、コードが非常に高速に複数回実行されることです。1 秒間再実行できないようにするには、一度実行されたコードが必要です。

理想的には、すべての実行が 1 秒間無効になります。したがって、 //何かが発火したばかりの場合、1 秒間再び発火することはできず、//他の何かを行うこともできません。

注 - これが完全に信頼できるクロス ブラウザではないことはわかっていますが、現時点ではこれで問題ありません。また、タッチスクリーンのスクロールでも機能する必要はありません。

$(document).ready(function(){
    $('body').bind('mousewheel', function(e){
        if(e.originalEvent.wheelDelta /120 > 0) {
            //do something
        }
        else{
            //do something else 
        }
    });
});

タイムアウト機能を使用してみましたが、一度だけではなく、待機してから複数回起動するようです:

setTimeout(function() {
    //do something 
    event.stopPropagation();
}, 1000);
4

4 に答える 4