函数防抖和节流的结合
Posted liuxiaodi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数防抖和节流的结合相关的知识,希望对你有一定的参考价值。
函数节流有个毛病,就是最后一次事件执行后,如果距离上一次事件执行不到规定时间,那么最后一次事件就不会执行,解决方法就是把事件函数节流和防抖结合在一起
function throlle(callback,delay){ let startTime=0; let timer=null; return function (){ //使用new Date().getTime(),这样首次操作一定会执行 let endTime=new Date().getTime(); clearTimeout(timer); //第一次减法一定大雨delay,确保首次操作一定会执行 if(endTime-startTime>delay){ callback() startTime=new Date().getTime(); }else{ //这里的目的是让最后一次执行 timer=setTimeout(()=>{ callback() },delay) } } } document.getElementById(‘box‘).addEventListener(‘click‘,throlle(()=>{ console.log(11); },1000))
以上是关于函数防抖和节流的结合的主要内容,如果未能解决你的问题,请参考以下文章