getOffsetTop - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
May 20

getOffsetTop 不指定

tommyhu , 18:52 , 大前端 » HTM5 , Comments(0) , Trackbacks(0) , Reads(1222) , Via Original Large | Medium | Small
如果拿到的offsetTop为0,则往上循环得到设置滚动的root 容器的高度
        getOffsetTop (herfId) {
          let offsetTop = 0
          try {
            if (document.getElementsByClassName(herfId).length > 0) {
              let eleId = document.getElementsByClassName(herfId)[0]
              let par = eleId.offsetParent
              if (par.dataset.id == 带滚动的根容器id){ 
                // 当节点为body可直接使用offsetTop获取距离
                offsetTop += eleId.offsetTop// 获取高度
              } else {
                while (par) {  
                  // 循环获取当前对象与body的高度
                  offsetTop += par.offsetTop;
                  par = par.offsetParent;
                }
              }
            }
          } catch (e) {
            console.log(`getOffsetTop:${e.message}`)
          }
          return offsetTop
        }
  • 中查看更多“getOffsetTop”相关内容
  • 中查看更多“getOffsetTop”相关内容
  • 中查看更多“getOffsetTop”相关内容
  • 中查看更多“getOffsetTop”相关内容
  • Add a comment

    Nickname

    emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot