在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中 } } } }