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

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

阅读 1.7k
1 个回答

找了一下午,发现防抖函数最符合我的需求。但是网上大多数都用不了,最后发现是因为绑定对象出错。监听变化时,绑定的对象必须是通过判断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);
});

运行结果

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题