亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue項目設(shè)置scrollTop不起作用(總結(jié))

 更新時間:2018年12月21日 14:47:38   作者:Coding_Jia  
這篇文章主要介紹了vue項目設(shè)置scrollTop不起作用(總結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

今天在開發(fā)中,遇到這樣一個情景。一個頁面中有三個模塊,每個模塊對應(yīng)一個標題,每個模塊內(nèi)容都很長,所以需要點擊當前模塊對應(yīng)的標題滾動到模塊所在位置。

我想的方案是獲取到每個模塊距離文檔頂部的距離,然后將值賦給對應(yīng)要滾動的元素。 步驟如下:

首先給每個模塊一個id,例如:

<div class="module module1" id="anchor-0">
<div class="module module1" id="anchor-1">
<div class="module module1" id="anchor-2">

點擊每個標題的時候獲取到當前模塊的id

<a v-for="(navItem,index) in navData" :key="index" class="navItem" :class="{active:index == i }" @click="goAnchor('#anchor-'+index)">{{navItem.name}}</a>

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()即可

<!--element-ui-->

<el-main class="scrolldivmain">
  some code
</el-main>
methods: {
 // 滾動到底部
  scrollToBottom () {
   this.$nextTick(() => {
    setTimeout(() => {
     var scrollTop = this.$el.querySelector('.scrolldivmain')
     scrollTop.scrollTop = scrollTop.scrollHeight
    }, 13)
   })
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue項目實現(xiàn)webpack配置代理,解決跨域問題

    vue項目實現(xiàn)webpack配置代理,解決跨域問題

    這篇文章主要介紹了vue項目實現(xiàn)webpack配置代理,解決跨域問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue實現(xiàn)自定義多選按鈕

    vue實現(xiàn)自定義多選按鈕

    這篇文章主要為大家詳細介紹了vue實現(xiàn)自定義多選按鈕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Vue中CSS?scoped的原理詳細講解

    Vue中CSS?scoped的原理詳細講解

    在組件中增加的css加了scoped屬性之后,就在會在當前這個組件的節(jié)點上增加一個data-v-xxx屬性,下面這篇文章主要給大家介紹了關(guān)于Vue中CSS?scoped原理的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • vue 解除鼠標的監(jiān)聽事件的方法

    vue 解除鼠標的監(jiān)聽事件的方法

    這篇文章主要介紹了vue 解除鼠標的監(jiān)聽事件的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • element多個表單校驗的實現(xiàn)

    element多個表單校驗的實現(xiàn)

    在項目中,經(jīng)常會遇到表單檢驗,在這里我分享在實際項目中遇到多個表單同時進行校驗以及我的解決方法,感興趣的可以了解一下
    2021-05-05
  • vue3中輕松實現(xiàn)switch功能組件的全過程

    vue3中輕松實現(xiàn)switch功能組件的全過程

    這篇文章主要給大家介紹了關(guān)于vue3中輕松實現(xiàn)switch功能組件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • vue項目打包后,由于html被緩存導致出現(xiàn)白屏的處理方案

    vue項目打包后,由于html被緩存導致出現(xiàn)白屏的處理方案

    這篇文章主要介紹了vue項目打包后,由于html被緩存導致出現(xiàn)白屏的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue3使用Electron打包成exe的方法與打包報錯解決

    vue3使用Electron打包成exe的方法與打包報錯解決

    在前端開發(fā)中,Electron是一種常用的工具,它允許開發(fā)者使用Web技術(shù)構(gòu)建桌面應(yīng)用程序,本文主要介紹了vue3使用Electron打包成exe的方法與打包報錯解決,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Vue修改mint-ui默認樣式的方法

    Vue修改mint-ui默認樣式的方法

    下面小編就為大家分享一篇Vue修改mint-ui默認樣式的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue+axios?methods方法return取不到值問題及解決

    vue+axios?methods方法return取不到值問題及解決

    這篇文章主要介紹了vue+axios?methods方法return取不到值問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論