likes
comments
collection
share

vue的子元素在dom到顶部的距离

作者站长头像
站长
· 阅读数 118

实现功能json比对,然后点击跳转到上一个,下一个不同的地方 vue的子元素在dom到顶部的距离 获取元素然后让其滚动条滚动到该元素的位置 这里踩过两个坑: document.documentElement.scrollTop = 元素.scrollTop 1.元素若是子元素,应该拿到相对于他的父元素的srcollTop

offsetTop (element) {

      var Top = element.offsetTop;//得到第一层距离

      var parent = element.offsetParent;//得到第一个父元素

      while (parent !== null) {//如果还有上一层父元素

        Top += parent.offsetTop;//把本层的距离累加

        parent = parent.offsetParent;//得到本层的父元素

      }//然后继续循环

      return Top;

    }

2.滚动的元素必须是滚动条的元素,document.documentElement.scrollTop这个没有效果 //获取多级父元素拿到子元素的距离顶部,这里是根据自己的项目拿到滚动条的元素,我这里是main这个有滚动条。 document.querySelector(".main").scrollTop = this.offsetTop(del[this.index]) - 150