在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