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

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;

:有图片的一定要图片加载完成后再计算

你可能感兴趣的:(获取某一元素到页面顶端的距离)