防抖
防抖就是指频繁触发的情况下,只有足够的空闲时间,才执行代码一次
var time = null
document.getElementById('nothing').onscroll = function () {
clearTimeout(time)
time = setTimeout(() => {
console.log(1);
}, 300)
}
我们可以这样 当然里面的计时器 可以换成网络请求等异步操作
节流
节流就是在一段时间内执行一次操作来触发一次
var flag = true
document.getElementById('throttle').onscroll = function () {
if (flag) {
flag = false
setTimeout(() => {
flag = true
console.log(1);
}, 1000)
}
}
可以这样来 运用
防抖和节流可以根据自己的需求来调试