在鼠标滚轮后防止鼠标滚轮 1 秒

prevent mousewheel 1s after mousewheel

我有一个问题,我想要这样:

$(window).on('mousewheel', function(event) {
  //prevent mousewheel in 1s
  //do something, after 1s, enable mousewheel
}

或者像这样: 您在 1 秒内多次滚动滚轮,在事件鼠标滚轮 运行 中运行 1 次。 有人帮助我!

var scrollstop = false;

$(window).on('mousewheel', function(event) {
  if(!scrollstop) {
    scrollstop = true;
    setTimeout(() => { scrollstop = false; }, 1000);
  }
}

是这样的吗?

你可以这样做:

var mouseWheelEnabled = true;

function doSomethingWithMousewheel(event){
    if(mouseWheelEnabled){
    //... your code here


    // set enabled = false;
    mouseWheelEnabled = false;

    setTimeout(function(){
      mouseWheelEnabled = true;
    }, 1000);
  }

}

$(window).on('mousewheel', doSomethingWithMousewheel);
var pauseWheel = false;
$(window).on('mousewheel', function(event) {
     if(pauseWheel) {
         event.preventDefault();
     }
     else {
         pauseWheel = true;
         setTimeout(function(){ pauseWheel = false; }, 1000);
     }
}

如果鼠标滚轮事件在最后 1000 毫秒内触发,则 pauseWheel 是一个变量 true。