获取元素距离页面顶部的距离

2,221 阅读1分钟

使用 offsetTop 属性获取元素距离页面顶部的距离

function getElementTop(elem) {
  let elemTop = elem.offsetTop; // 获取当前元素顶部距离父元素顶部的距离
  let parentElem = elem.offsetParent; // 获取当前元素的父元素

  while (parentElem) {
    elemTop += parentElem.offsetTop;
    parentElem = parentElem.offsetParent;
  }

  return elemTop;
}

使用 getBoundingClientRect() 方法获取元素位置信息

function getElementTop(elem) {
  const rect = elem.getBoundingClientRect(); // 获取元素大小、位置等信息

  return rect.top + window.pageYOffset; // 返回元素顶部距离页面顶部的距离
}