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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Activity 跳转详解

    Activity 跳转详解Activity跳转详解你好!我是Graydalf,有可能也叫Gdalf~今天被朋友问到如何设置一个广播来启动一个应用并显示数据,于是将自己了解到的记录下来,有什么较为DEMO的地方希望你能留言告诉我,因为我们都是GitHub嘛~~本节说明:Activity跳转的方式;跳转传值问题(包括非Activity的跳转到Activity);跳转传递值时生命周期回调函数调用情况

    2022年5月22日
    35
  • 隐形数字水印_Android 实现图片水印与隐形数字水印

    隐形数字水印_Android 实现图片水印与隐形数字水印在使用知乎,微博的时候,我们经常可以看到自己上传的图片被加上了文字水印,在实际的应用开发过程中,很多客户端都需要开发者自己编写Canvs绘制图形水印的方法,今天我想在这里介绍一个轻量级的开源Android图片水印框架来避免开发过程中编写复杂的绘图代码:AndroidWM,并且剖析它的实现过程和特色用法。水印这个框架最大程度上简化了图片水印绘制的问题,暴露了灵活的接口给用户使用。在绘制水印的…

    2025年5月29日
    1
  • 学生成绩管理系统(C语言)「建议收藏」

    学生成绩管理系统(C语言)「建议收藏」思路学生成绩管理系统,首先要初始化系统,开始一个新的学生成绩系统初始化记录学生姓名,学号,院系,然后输入学生各科成绩,数学,英语,语文成绩。记录完各课成绩以后,可查看学生平均成绩和是否及格,成绩查询其中有学号查询,姓名查询,院系查询,还有全部输出,可以清晰的看到及格人数,按照分数高低排列,最后还可以添加和删除学生成绩,或者更改学生成绩,避免人为录入成绩错误。基本函数1.结构体structStudent定义一个结构体struct,结构体的关键字,students定义的结构体对象。学…

    2022年6月20日
    33
  • 二分类变量相关性分析spss_两个有序分类变量相关性的卡方检验-SPSS教程

    二分类变量相关性分析spss_两个有序分类变量相关性的卡方检验-SPSS教程一、问题与数据研究者想探索类风湿关节炎躯体感觉的症状数量与疼痛等级之间的关系,从一家大型医院入院治疗的类风湿关节炎病人中随机招募了364例研究对象。类风湿关节炎躯体感觉共有6种症状,研究者请研究对象报告其患有症状。类风湿关节炎门诊的医生使用疼痛量表对每个研究对象的疼痛进行评级。研究对象自报的类风湿关节炎躯体感觉症状数量在1-6个之间,为有序分类变量,变量名为symptoms。医生将研究对象的疼痛分…

    2022年5月17日
    131
  • 普通正态分布如何转换到标准正态分布中_正态分布化成标准正态的公式

    普通正态分布如何转换到标准正态分布中_正态分布化成标准正态的公式1.普通正态分布转换标准正态分布公式我们知道正态分布是由两个参数μ\muμ与σ\sigmaσ确定的。对于任意一个服从N(μ,σ2)N(\mu,\sigma^2)N(μ,σ2)分布的随机变量XXX,经过下面的变换以后都可以转化为μ=0,σ=1\mu=0,\sigma=1μ=0,σ=1的标准正态分布(standardnormaldistribution)。转换公式为:z=X−μσz=\…

    2022年9月21日
    3
  • loadrunner 11下载及激活成功教程

    loadrunner 11下载及激活成功教程1.下载参照文章:http://www.51testing.com/?uid-4827-action-viewspace-itemid-2254512.激活成功教程参照文章:htt

    2022年7月22日
    12

发表回复

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

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