防抖,节流函数

2019-03-21  本文已影响0人  暮光之城_3ed1

1:防抖函数

    主要是,当连续触发函数时,上一次的函数不会执行,利用setTimeout定时器来处理

    // 防抖,就是连续触发,只触发最后一次

        function debunce(fn, delay) {

            var timer;

            return function() {

                // 每次进来,清除一次定时器

                clearTimeout(timer);

                timer = setTimeout(fn, delay);

            }

        }

2:节流函数

        // 节流,就是连续触发时,只定时执行

        function thread(fn, delay) {

            var timer;

            return function() {

                // 如果存在timer则不做任何处理

                if (timer) {

                    return

                } else {

                    timer  = setTimeout(function(){

                        fn()

                        timer = null;

                    }, delay);

                }

            }

        }

上一篇 下一篇

猜你喜欢

热点阅读