防抖:高频触发事件,只要最后一次事件处理程序内部的执行成果
案例:
// 1.拿到input输入框
const input = document.querySelector('input')
// 定义定时器类名
let time2;
// 2.给oninput添加防抖事件
input.oninput = function () {
// 移除定时器
clearTimeout(time2);
//设置定时器
time2 = setTimeout(function () {
console.log('log')
}, 1000);
}
节流:控制高频事件的触发次数,每次触发完进入冷却
案例:
// 1.拿到input输入框
const input = document.querySelector('input')
// 定义类名
let time2 = true;
// 2.给oninput添加节流
input.oninput = function () {
// 判断是否进入方法
if(time2){
time2 = false
console.log('log')
// 设置节流时间,触发事件后冷却5秒才可以继续触发
setTimeout(()=>{
time2 = true
},5000)
}
}