vue 解決無法設置滾動位置的問題


問題描述

在實現錨點定位的時候發現無法設置滾動條的位置。

在Vue中,使用 document.body.scrollTop=952 無法設置滾動條的高度。

document.body.scrollTop一直是0

原因

因為vue的頁面指定了DTD,即指定了DOCTYPE時,使用document.documentElement。

頁面沒有DTD,即沒指定DOCTYPE時,使用document.body。

解決方案

document.documentElement=956

 

2018年10月10號新增

上面僅僅是說這個頁面的滾動條高度的設定,當我頁面內的一個div的滾動條設定他的高度 如下解決方案

var anchor = this.$el.querySelector('.message-list')
      this.$nextTick(() => {
        document.querySelector('.message-list').scrollTop = anchor.scrollHeight
 })

這個解決方案在我做ng的時候又出現過類似的問題,我前大佬告訴我的 ,當時只是為了解決問題並沒有了解其原理,復制進來就過去了。

現在做vue了,才知道哦,為什么要這樣寫,所以說項目太趕,只是為了完成任務,對個人能力並沒有提升,做完了就過了, 還要解決其他的bug,其他的任務,現在能夠靜下來在工作過程中學習+進步,對個人的發展才是好的。工作不僅僅是工作完成任務,是一個自己發現自身問題,提升能力和對自己的技術實操實踐的過程。

 

此隨筆乃本人學習工作記錄,如有疑問歡迎在下面評論,轉載請標明出處。

如果對您有幫助請動動鼠標右下方給我來個贊,您的支持是我最大的動力。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM