获取某一元素到页面顶端的距离

jQuery的offset().top

它获取的值==你获取的元素的上边框距离html的顶部的值

JS的offsetTop

它获取的值==你获取的元素的上边框距离与它最近的父级元素(必须要脱离文档流的,relative没有用)的的顶部的值

原生:

方法一:

递归节点的offsetTop

function getElementToPageTop(el) {
  if(el.parentElement) {
    return this.getElementToPageTop(el.parentElement) + el.offsetTop
  }
  return el.offsetTop
}

方法二:
获取当前元素到可视区域顶端的距离
object.getBoundingClientRect();
再加上 document.documentElement.scrollTop

jquery:

$('xxx').offset().top;

\color{red}{注意}:有图片的一定要图片加载完成后再计算

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 调皮的乌云 又戴上了黑色面具 来了场恶作剧 惹得天空 泪水淅沥 连花儿,树儿 也跟着安慰 太阳公公听见了 摸了摸胡...
    一片星海与你阅读 198评论 0 1
  • 不知道从什么时候开始,我们做事变得越来越畏手畏脚,有越来越多的顾虑、犹豫,且越来越善于权衡……于是做事时越来越多的...
    在心理种太阳阅读 470评论 0 0
  • 你内心的强大 从来不是因为 看到了人性的美好 恰恰相反 是你见惯人性的恶之后 仍然安之若素
    冉彩漫画诗阅读 438评论 0 2

友情链接更多精彩内容