如何用js实现间隔时间判定?

作者站长头像
站长
· 阅读数 16

我想在js方法里面实现一个延时功能,重复调用同一个方法的间隔时间,不少于3秒,才会触发下一步,这个要怎么实现?

回复
1个回答
avatar
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);
});

answer image

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