关于前端:获取任意DOM元素距离页面顶部HTML的距离自己写的迭代方法一看就懂百度搜的答案个人感觉全是是错的测试下来根本不符合

8次阅读

共计 379 个字符,预计需要花费 1 分钟才能阅读完成。

function toTopHeight(el) {
    var top_height = el.offsetTop;      // 先保留以后元素的 offsetTop 值
      if(el&&el.nodeName!='HTML') {
          el = el.parentElement;
        while(el&&el.nodeName!="HTML"){// 当以后元素不是顶部 html 标签时,持续迭代
            if(getComputedStyle(el).position!=='static'){
            // 只有当元素有定位时,才将此元素的 offsetTop 值退出到后果中,因为 offsetTop 的值是间隔本身到离本身最近的有定位的父元素的内壁的间隔
                top_height+=el.offsetTop;
            }
            el = el.parentElement;
          }
      }
      return top_height;
}

有不懂或者谬误的中央能够在下方评论区交换探讨

正文完
 0