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爬虫精进

    全网最全python爬虫精进4.25(第一天)**第0关认识爬虫**1、初始爬虫爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。2、明晰路径2-1、浏览器工作原理(1)解析数据:当服务器把数据响应给浏览器之后,浏览器并不会直接把数据丢给我们。因为这些数据是用计算机的语言写的,浏览器还要把这些数据翻译成我们能看得懂的内容;(2)提取数据:我们就可以在拿到的数据中,挑选出对我们有用的数据;(3)存储数据:将挑选出来的有用数据保存在某一文件/数据库中。2-2、爬虫工作原理(1)获取数据:爬虫程序会根据

    2022年5月27日
    35
  • Oracle插入(insert into)

    Oracle插入(insert into)Oracle插入(insertinto)转载:http://www.oraclejsq.com/article/010100199.htmlOracle对表数据的插入是使用insert命令来执行

    2022年7月1日
    22
  • tk.mapper_需求分析4个步骤

    tk.mapper_需求分析4个步骤引言  Mybatis支持@SelectProvider注解,tkMapper正是运用了该技术,通过解析持久类,拼接xml形式的SQL语句,重新为MappedStatment设置SqlSource实现功能。核心配置<beanclass=”tk.mybatis.spring.mapper.MapperScannerConfigurer”>&l…

    2022年9月1日
    3
  • 善待自己 改变命运的N个人生哲理[通俗易懂]

    善待自己 改变命运的N个人生哲理[通俗易懂]善待自己改变命运的N个人生哲理

    2022年5月27日
    33
  • Random的nextInt方法[通俗易懂]

    Random的nextInt方法[通俗易懂]Random类中的nextInt()方法(注:不带参数)会随机产生所有有效的整数,包括正数,负数和零。Random类中的nextInt(intn)方法会产生[0,n)之间的随机int值(包含0,不包含n)两种生成介于[0,100)的随机数的方法:方法一:用Random类中的nextInt()方法packagech06;importjava.util.Random;…

    2022年7月22日
    17
  • JS数组的排序和反转

    JS数组的排序和反转JS数组的排序和反转vararr1=[43,12,21

    2022年5月4日
    41

发表回复

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

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