原生JS获取DOM 节点到浏览器顶部的距离或者左侧的距离

Posted h祝h

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生JS获取DOM 节点到浏览器顶部的距离或者左侧的距离相关的知识,希望对你有一定的参考价值。

关于js获取dom 节点到浏览器顶/左部的距离,Jquery里面有封装好的offset().top/offset().left,只到父级的顶/左部距离position().top/position().left;

原生写的话就是用获取节点,do while循环就可以了。代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>原生JS获取DOM 节点到顶部的距离</title>
</head>
<body>
   <ul>
       <li>11111</li>
       <li>11111</li>
       <li>11111</li>
       <li>11111</li>
       <li id="item">11111</li>
   </ul>
    <script>
        var dom = document.getElementById(item);
        var iTop = 0;
        do {
            iTop += dom.offsetTop;//如果是左侧就是offsetLeft
            dom = dom.parentNode //如果DOM 节点 的parentNode存在,把当前的节点赋予成parentNode;
       } while (dom.parentNode);
        console.log(iTop)
    </script>
</body>
</html>

 

以上是关于原生JS获取DOM 节点到浏览器顶部的距离或者左侧的距离的主要内容,如果未能解决你的问题,请参考以下文章

查找html中某个标签距离浏览器窗口工作区顶部距离和左侧距离

原生JS 和 JQ 获取滚动条的高度,以及距离顶部的高度

如何获取元素距离页面顶部的高度

React中ref获取元素位置,并通过js滑动到对应位置

如何获取元素距离页面顶部的高度?

原生js如何判断元素出现在可视区