简单的防抖动函数

// 简单的防抖动函数

function debounce(func, wait, immediate) {

// 定时器变量

var timeout;

return function() {

// 每次触发 scroll handler 时先清除定时器

clearTimeout(timeout);

// 指定 xx ms 后触发真正想进行的操作 handler

timeout = setTimeout(func, wait);

};

};

// 实际想绑定在 scroll 事件上的 handler

function realFunc(){

console.log("Success");

}

// 采用了防抖动

window.addEventListener('scroll',debounce(realFunc,500));

// 没采用防抖动

window.addEventListener('scroll',realFunc);

上面简单的防抖的例子可以拿到浏览器下试一下,大概功能就是如果 500ms 内没有连续触发两次 scroll 事件,那么才会触发我们真正想在 scroll 事件中触发的函数。

你可能感兴趣的:(简单的防抖动函数)