为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁花不似锦 2021-11-18 17:20:12
我正在尝试使用 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);  }}
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

它在每个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);

  }

}


查看完整回答
反对 回复 2021-11-18
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信