首页 > 其他分享 >防抖和节流

防抖和节流

时间:2023-01-08 11:55:32浏览次数:37  
标签:防抖 节流 timer delay functionItem null

// 防抖函数和节流函数, 使用方法antiShaking(() => {
                //   执行动作
                // })
                
let timer = null;      //time用来控制事件的触发

// 防抖
export function antiShaking(functionItem, delay = 500) {
  //防抖语句
  if(timer !== null){
      clearTimeout(timer);
  }
  timer = setTimeout(() => {
    console.log(5464, functionItem)
    functionItem()
    //这里的this指向的是input
  }, delay)
}

// 节流
export function throttle(fn, delay = 500) {
  if(timer) return
  timer = setTimeout(() => {
    fn.apply(this,arguments)
    timer = null
  }, delay)
}

 

标签:防抖,节流,timer,delay,functionItem,null
From: https://www.cnblogs.com/yan122/p/17034356.html

相关文章

  • 防抖和节流
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Docu......
  • vue2 lodash函数27 节流的函数、防抖的函数、操作数组的一系列函数、操作对象的一
    App.vue<keep-aliveinclude="Home"><router-view/></keep-alive>routerindex.jsimportVuefrom'vue'importVueRouterfrom'vue-router'importH......
  • 第十二章《文件与I/O流》第3节:字节流的使用
    ​字节流每次输入或输出一个字节的数据,下面的表12-4展示了java.io包下定义的字节流。表12-4字节流类​流类​用途​InputStream​字节输入流的父类​OutputStream​字节输出......
  • 手写防抖
    手写一个防抖防抖和节流都是依托定时器来完成的lettimer=nullinput1.addEventLister('keyup',function(){if(timer){clearTimeout(timer)}timer=......
  • JavaScript防抖与节流函数:提高应用性能的利器
    前言大家好,我是CoderBin,防抖和节流函数目前已经是前端实际开发中两个非常重要的函数,也是面试经常被问到的面试题。但是很多前端开发者面对这两个函数还是有点摸不着头脑:无......
  • 函数防抖和节流
    防抖和节流防抖和节流主要目的就是防止一个事件频繁触发或频繁使用DOM。比如scroll事件,滚动事件通常频繁触发,上一次回调没有执行完,下一次的事件就触发了,导致出现的页面抖......
  • java 字节流 字符流
    目录​​字节流​​​​带缓冲区的字节流​​​​字符流​​​​只解释输入流读取的过程,输出流同理​​字节流​​一个个的读取字节,然后打印到控制台​​带缓冲区的字节流​......
  • 字节流使用指南
    一切皆为字节一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时......
  • JS防抖函数加强版
    JS防抖函数加强版debounce(fn,wait=500,immediate=false){lettimer=nulllettimer2=nulllettimes=0returnfunction(...args){......
  • Java 字节流数据拷贝性能测试
     packagecn.edu.lcudcc.byte_buffer_time;importjava.io.*;publicclassByteBufferTimeDemo{privatestaticfinalStringSRC_FILE="/Users/baoshan/Do......