Javascript 中的去抖动不适用于滚轮事件

我正在尝试使用 debounce 函数来限制调用的滚动事件的数量。


我不确定为什么这根本不起作用......


有任何想法吗?


window.addEventListener('wheel', () => {

  debounce(scrollSection, 300);

});


const scrollSection = () => {

  console.log(1);

}


const debounce = function(fn, d) {

  let timer;

  return function() {

    let context = this;

    let args = arguments;

    clearTimeout(timer);

    timer = setTimeout(() => {

      fn.apply(context, args);

    }, d);

  }

}


繁花不似锦
浏览 145回答 1
1回答

收到一只叮咚

它在每个wheel事件上创建去抖动功能。先对函数进行去抖动,然后将其放入事件侦听器中。window.addEventListener('wheel', debounce(scrollSection, 300));const scrollSection = () => {  console.log(1);}const debounce = function(fn, d) {  let timer;  return function() {    let context = this;    let args = arguments;    clearTimeout(timer);    timer = setTimeout(() => {      fn.apply(context, args);    }, d);  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript