2019-05-03

防抖和节流


html代码


<html lang="en">

    <meta charset="UTF-8">

    <title>Title

        #demo1{

           width:100px;

            height:100px;

            background:chartreuse;

        }

#demo2{

width:100px;

            height:100px;

            background:aqua;

        }

<div id="demo1">

<div id="demo2">

<script src="stream.js">

</html>



js代码


let demo1=document.getElementById('demo1');

let demo2=document.getElementById("demo2");

demo1.addEventListener('click',debounce(1,3000));

demo2.addEventListener('click',throttle(2,3000));

//防抖

let count1=0;

function fn1(num) {

demo1.innerHTML=count1++;

    console.log(num);

}

function  debounce(num,await) {

let timeout;

    return function () {

if(timeout){

       clearTimeout(timeout)

}

var me=this;

 timeout=setTimeout(()=>{

         fn1.call(me,num)

},await)

}

}

//节流

let count2=1;

function fn2(num) {

demo2.innerHTML=count2++;

    console.log(num);

}

function throttle(num,await) {

let timeout=null;

    return function () {

      if(timeout)

           return;

        let me=this;

        timeout=setTimeout(()=>{

           fn2.call(me,num);

            timeout=null;

        },await)

}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容