Web前端必做笔记之一:防抖和节流(一)

Web前端必做笔记之一:防抖和节流(一)

 <input type="text">
<script>
      let  inp = document.querySelector("input");

inp.oninput = function(){  //oninput事件:当我们输入内容时就会触发
   
    console.log(this.value);
}
</script>

在这里插入图片描述
我们可以看到当我打出’前端’两个字时,从 ‘q’ 到’前端’执行了很多次事件,那每一次输入都是与后台进行数据交互,那这就很影响性能,敲一个字母,就与后台进行一次数据交互,就请求一次数据,那这性能就很惨。而这就有了防抖.

<script>
       //防抖 :用户触发事件过于频繁,只要最后一次事件的操作
       let  inp = document.querySelector("input");
       let t = null; //用它来控制事件是否触发
       inp.oninput = function(){  //oninput事件:当我们输入内容时就会触发
          
             if(t !== null){
                   clearTimeout(t); //如果不是最后一次,就把之前的事件清掉
             }
             
             //如果事件被触发了,那它是最后一次,就直接执行计算器操作
           t = setTimeout(()=>{
                   console.log(this.value);
                  
             },500) 
       }
</script> 

你在连续输入,我就不触发这个事件,但是你这次输入超过0.5秒那就触发。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值