防抖和节流

半世苍凉 提交于 2020-03-10 20:52:22

防抖的目的:为了减少因函数的频繁调用而加重浏览器负担

防抖:在指定时间内,同一函数只能被触发一次,该时间过后可再次触发

       /*
         @param fn 函数
        */
        function debounce(fn) {
            let time = null;
            return function () {
                //清除前一个定时器
                clearTimeout(time);
                //创建新的定时器,使用apply修复this指向
                time = setTimeout(() => {
                    a.apply(this, arguments)
                }, 1000)
            }
        }
        function a() {
            let scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
            console.log('top-->',scrollTop)
        }

        window.onscroll = debounce(a)

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!