防抖的目的:为了减少因函数的频繁调用而加重浏览器负担
防抖:在指定时间内,同一函数只能被触发一次,该时间过后可再次触发
/*
@param fn 函数
*/
function debounce(fn) {
let time = null;
return function () {
//清除前一个定时器
clearTimeout(time);
//创建新的定时器,使用apply修复this指向
time = setTimeout(() => {
a.apply(this, arguments)
}, 1000)
}
}
function a() {
let scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
console.log('top-->',scrollTop)
}
window.onscroll = debounce(a)
来源:https://www.cnblogs.com/aruanmei/p/12458359.html