搜尋

首頁  >  問答  >  主體

javascript - 在$nextTick中取得DOM高度的問題

再做一個滾動的功能,需要取得到被滾動元素的高度
程式碼如下

    created() {
      this.titleid = this.$route.params.titleid
      this.communityid = this.$route.params.communityid
      this.TOPIC_LOADORDERBY({titleid: this.titleid, communityid: this.communityid})
       this.$nextTick(function () {
           // DOM 现在更新了
           // `this` 绑定到当前实例
           this._initScroll()
           let self = this;
               console.log(self.$refs.scorll.clientHeight)
               console.log(self.$refs)
               let height = self.$refs.scorll.clientHeight - self.$refs.topicReply.clientHeight;
                self.meunScroll.scrollTo(0, -height,0)

        })

我發現得到的值並不是實際高度的值,最初我懷疑是不是資料沒有渲染進去,於是查看了一下DOM中屬性的值,發現內容都是有的,就連clientHeight的值也是我需要的準確的值,但是不知道為什麼我獲取clientHeight值的時候卻並不是我想要的,我嘗試了使用定時器,但是結果還是一樣的當時間只有在1000的時候才能獲取到確切的高度;

phpcn_u1582phpcn_u15822735 天前557

全部回覆(1)我來回復

  • 给我你的怀抱

    给我你的怀抱2017-05-19 10:11:37

    在created的鉤子函數中,模板還沒渲染好,試試mounted

    回覆
    0
  • 取消回覆