解决offsetTop为0(不是相对页面距离)

771#87e7c98e

很多滑动判断元素是否位于屏幕可视范围的开发,像图片懒加载、进入动画等等,都涉及到获取位置距离,如果当前元素相对位置不是body,就不能正确判断距离。

演示代码

js 复制代码
let par = item.offsetParent
let offsetTop = item.offsetTop

if (par.nodeName.toLowerCase() !== 'body') {
  while (par) {
    // 循环获取当前对象与body的高度
    offsetTop += par.offsetTop
    par = par.offsetParent
  }
}

console.log(item, offsetTop, bottomToClientTop)

参与本文讨论

请先登录 GitHub 后留言

0/500

本文留言

0

这篇文章还没有留言,来写第一条吧。

1 / 1