zoukankan      html  css  js  c++  java
  • 函数防抖和节流的结合

    函数节流有个毛病,就是最后一次事件执行后,如果距离上一次事件执行不到规定时间,那么最后一次事件就不会执行,解决方法就是把事件函数节流和防抖结合在一起

    function throlle(callback,delay){
    let startTime=0;
    let timer=null;
    return function (){
    //使用new Date().getTime(),这样首次操作一定会执行
    let endTime=new Date().getTime();
    //多次触发时执行clear,这样最后只会执行一次 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))
  • 相关阅读:
    【JAVA
    【Android
    【开发工具
    【开发工具
    【开发工具
    【Android
    【Android
    【JavaEE】之MyBatis查询缓存
    【JavaEE】之MyBatis逆向工程的使用
    新的起点 Entry KINGSOFT
  • 原文地址:https://www.cnblogs.com/liuXiaoDi/p/12593522.html
Copyright © 2011-2022 走看看