這篇文章將為大家詳細講解有關(guān)vue項目中scrollTop設(shè)置不起作用如何解決,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,服務(wù)器托管雅安,服務(wù)器托管雅安,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
首先給每個模塊一個id,例如:
點擊每個標題的時候獲取到當前模塊的id
{{navItem.name}} methods: { // tab點擊滾動 goAnchor(val) { let anchor = this.$el.querySelector(val); }*最后就可以獲取每個模塊距離文檔頂部的距離了,然后賦值給對應(yīng)要滾動的元素就可以了
methods: { // tab滾動 goAnchor(val) { let anchor = this.$el.querySelector(val); this.$nextTick(() => { document.querySelector(".el-main").scrollTop = anchor.offsetTop; }); },切記:在這里一定要加上this.$nextTick()方法,否則document.querySelector(“.el-main”).scrollTop的值永遠為0,不會賦值成功的!
container.scrollTop 一直為0不能賦值的解決方法
watch: { historyList () { this.$nextTick(() => { const container = this.$el.querySelector('.scrolldivmain') console.log(container.scrollHeight) console.log(container.scrollTop) this.$refs.scrolldiv.scrollTo(0, container.scrollHeight + 'px') container.scrollTop = container.scrollHeight container.scrollTop(0, container.scrollHeight) console.log(container.scrollTop) // container.scrollTop 一直為0 }) } }注意點
確定下滾動條是在哪里顯示的
有個方法判斷下:
window.addEventListener('scroll', () => { var scrollTop = this.$el.querySelector('.scrolldivmain') // console.log(scrollTop.scrollHeight) console.log(scrollTop.scrollTop) // 查看打印的值是否有變化 如果有 則說明滾滾動條在這個標簽中 // scrollTop.scrollTop = scrollTop.scrollHeight // 可以嘗試下 滾動滾動條。一直在底部則可以設(shè)置成功 }, true)解決方案
需要用到的地方 調(diào)用this.scrollToBottom()即可
some code methods: { // 滾動到底部 scrollToBottom () { this.$nextTick(() => { setTimeout(() => { var scrollTop = this.$el.querySelector('.scrolldivmain') scrollTop.scrollTop = scrollTop.scrollHeight }, 13) }) } }關(guān)于vue項目中scrollTop設(shè)置不起作用如何解決就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
新聞名稱:vue項目中scrollTop設(shè)置不起作用如何解決
標題來源:http://weahome.cn/article/jccioi.html其他資訊