美文网首页程序员
js防抖节流实现

js防抖节流实现

作者: 一人创客 | 来源:发表于2020-06-23 22:33 被阅读0次

    防抖:就是指触发事件后在n秒内函数只能执行一次,如果在n秒内又触发了事件,则会重新计算函数执行时间

     function debounce(fn, wait = 800) {
                let timmer = null;
                return function () {
                    timmer && clearTimeout(timmer)
                    timmer = setTimeout(() => {
                        fn()
                    }, wait)
    
                }
            }
    

    节流:就是指连续触发事件但是在一段事件中只执行一次函数

    function debounce(fn, wait = 800) {
                let timmer = null;
                return function () {
                    let now = !timmer
                    timmer && clearTimeout(timmer)
                    timmer = setTimeout(() => {
                        timmer = null
                    }, wait)
                    if (now) {
                        fn()
                    }
                }
            }
    

    相关文章

      网友评论

        本文标题:js防抖节流实现

        本文链接:https://www.haomeiwen.com/subject/utikfktx.html