编程

防抖与节流

2020-07-05  本文已影响0人  天黑就拉登

用定时器实现

防抖:在某一时间段内,多次接到同一事件,只执行最后一次触发的事件。比如一个按钮在1s内连续触发多次,而我们设置的时间间隔是1s,则只执行最后一次的点击事件。

function fangdou(fn,dealy){

    var t = null;

    return function(){

        if(t){

            t = null;

        }

        t = setTimeout(function(){

            this.apply(fn,arguments);

        },dealy)

    }

}


节流:在某一时间段内,多次接到同一事件,执行第一次触发的事件。比如一个按钮在1s内连续触发多次,而我们设置的时间间隔是1s,则只执行第一次的点击事件。

function jieliu(fn,dealy){

    var t = null;

    return function(fn,arguments){

        if(!t){

            t = setTimeout(function(){

                this.apply(fn,arguments);

                t = null;

            },dealy);

        }

    }

}

上一篇 下一篇

猜你喜欢

热点阅读