1个回答

test
2024-07-16
找了一下午,发现防抖函数最符合我的需求。但是网上大多数都用不了,最后发现是因为绑定对象出错。监听变化时,绑定的对象必须是通过判断timer直接调用被防抖函数的函数。
/** 用于防抖 */
var timer = null;
function debounce(fn, wait) {
if (timer != null) {
clearTimeout(timer);
}
timer = setTimeout(fn, wait);
}
/** 需要防抖的函数 */
function test() {
console.log('防抖成功!');
}
/** 窗口变化做监听 */
window.addEventListener("resize", function(){
console.log('开始调用');
debounce(test,1000);
});
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容