Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 936 Bytes

getHorizontalOffset.md

File metadata and controls

34 lines (25 loc) · 936 Bytes
标题 标签
getHorizontalOffset(获取元素到文档左边的距离) browser(浏览器)

查找从给定元素到文档最左边的距离。

  • 使用 while 循环和 HTMLElement.offsetParent 向上移动给定元素的偏移父级。
  • 为每个元素添加 HTMLElement.offsetLeft 并返回结果。
const getHorizontalOffset = el => {
  let offsetLeft = el.offsetLeft,
    _el = el;
  while (_el.offsetParent) {
    _el = _el.offsetParent;
    offsetLeft += _el.offsetLeft;
  }
  return offsetLeft;
};

调用方式:

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

应用场景

结果如下:

<iframe src="codes/javascript/html/getHorizontalOffset.html"></iframe>