30秒学会 JavaScript 片段 · 2023年12月9日

30秒学会 JavaScript 片段 – Vertical offset of element

Finds the distance from a given element to the top of the document.

  • Use a while loop and HTMLElement.offsetParent to move up the offset parents of the given element.
  • Add HTMLElement.offsetTop for each element and return the result.

代码实现

const getVerticalOffset = el => {
  let offset = el.offsetTop,
    _el = el;
  while (_el.offsetParent) {
    _el = _el.offsetParent;
    offset += _el.offsetTop;
  }
  return offset;
};

getVerticalOffset('.my-element'); // 120

翻译自:https://www.30secondsofcode.org/js/s/get-vertical-offset