JS防抖节流

JS防抖节流JS 的防抖和节流

1.防抖:持续触发事件时,在设定时间段内没有触发,才会去调用这个事件处理函数,在设定的时间段内如果事件又被触发,则不调用事件处理函数,并从触发事件重新开始延时。

        function debounce(fn, timeout){

                   timeout = timeout || 1000;

                   let timer;

                   return () => {

                     if(timer){ clearTimeout(timer)}

                             timer = setTimeout(() => {

                                       n()

                             },timeout)

                           }

                }

        function printEvent(){

           console.log(”)

        }

  window.addEventListener(‘scroll’,debounce(printEvent,1000),false)

2.节流:当事件被持续触发时,在设定事件内只让事件处理函数触发一次。

//节流函数

function throttle(fn, range){

   range = range || 1000;

   let timer;

   return () => {

     //console.log(111,typeof timer)

     if(!timer){

       timer = setTimeout( () => {

          fn()

         timer = null

       },range)

     }

   }

}

  window.addEventListener(‘mousemove’,throttle(printEvent,1000),false)

//节流函数 时间戳模式

var throttle2 = function(func, delay) {

   var prev = Date.now();

   return function() {

     var context = this;

     var args = arguments;

     var now = Date.now();

     if (now – prev >= delay) {

       func.apply(context, args);

       prev = Date.now();

     }

   }

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232190.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python中关于if-else使用性能的一点感悟

    python中关于if-else使用性能的一点感悟

    2021年11月19日
    48
  • html json数组拼接

    html json数组拼接作为一个菜鸟,自己想的笨办法2333,不过总归能用。。。//先定义一个json对象jsonstr=”[]”;jsonarray=eval(’(’+jsonstr+’)’);//传入两两个参数为格式相同数据不一样的json对象functionappenjson(jsonbject1,jsonbject2){//循环第一个传入的jsonfor(vari=0;i<…

    2022年5月27日
    64
  • RC522 射频读卡器模块(MINI型)

    RC522 射频读卡器模块(MINI型)一、硬件:二、[主芯片介绍]MFRC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,是NXP公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表

    2022年7月1日
    38
  • css鼠标禁用[通俗易懂]

    css鼠标禁用[通俗易懂]#1.鼠标的悬浮样式:cursordiv:hover{cursor:not-allowed;/*光标是一个红色的圈加一个斜杠)*/}1、default默认光标(通常是一个箭头)2、auto默认。浏览器设置的光标。3、crosshair光标呈现为十字线。4、pointer光标呈现为指示链接的指针(-只手)5、move此光标指示某对象可被移动。6、e-resize此光标指示矩形框的边缘可被向右(东)移动。7、ne-resize此光标指示矩形

    2022年5月10日
    44
  • navicat 10.1.7 注册码

    navicat 10.1.7 注册码帮助->注册如下输入注册码:NAVH-WK6A-DMVK-DKW3

    2022年10月13日
    4
  • java项目开发实例_java项目总结

    java项目开发实例_java项目总结 根据网上的例子,写的flexBlazeDS 框架与java访问,实现。

    2022年10月21日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号