Javascript中的去抖动不使用控制盘事件
我试图使用一个去盎司函数来限制调用的滚动事件的数量 我不知道为什么这根本不起作用 有什么想法吗Javascript中的去抖动不使用控制盘事件,javascript,debounce,Javascript,Debounce,我试图使用一个去盎司函数来限制调用的滚动事件的数量 我不知道为什么这根本不起作用 有什么想法吗 window.addEventListener('wheel', () => { debounce(scrollSection, 300); }); const scrollSection = () => { console.log(1); } const debounce = function(fn, d) { let timer; return function()
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);
}
}
它在每个
控制盘
事件上创建去抖动功能。首先对函数进行解块,然后将其放入事件侦听器
window.addEventListener('wheel',去盎司(scrollSection,300));
常量滚动节=()=>{
控制台日志(1);
}
常数反盎司=函数(fn,d){
让定时器;
返回函数(){
让上下文=这个;
设args=参数;
清除超时(计时器);
计时器=设置超时(()=>{
fn.应用(上下文,args);
}(d);
}
}