在vue中使用防抖函数获取滚动条高度


mounted(){
        document.addEventListener('scroll', this.debounce(this.scrollTop,100))
    },
methods:{
    scrollTop(){
            this.scroll = document.documentElement.scrollTop || document.body.scrollTop;
            console.log(this.scroll)
        },
        debounce(fn, delay) {
            let time = false //第一次进来time为false,走else
            return function(){
                if (time) {
                    clearTimeout(time) //滚动条在不断的滚动,我们不断的清除定时器(重新初始化定时器,在重新设置定时器)
                    time = setTimeout(fn, delay) //又重新设置定时器,
                } else {
                    time = setTimeout(fn, delay) //进来第一次先进入这里,然后time被赋值 != false,如果滚动条在继续滚动,接着马上进入time == true中
                }
            }
        }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM