huzhuhua

关于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,iLeft=0;
do { iTop += dom.offsetTop;//如果是左侧就是offsetLeft
       iLeft +=dom.offsetLeft
dom = dom.parentNode //如果DOM 节点 的parentNode存在,把当前的节点赋予成parentNode; } while (dom.parentNode); console.log(\'到顶部的距离是\'+iTop+\'px\',\'到最左侧的距离是\'+iLeft+\'px\') </script> </body> </html>

 

分类:

技术点:

相关文章:

  • 2021-10-16
  • 2021-12-23
  • 2019-09-23
  • 2022-01-14
  • 2021-10-16
  • 2021-10-16
猜你喜欢
  • 2021-10-16
  • 2022-01-02
  • 2021-12-31
  • 2021-12-23
  • 2021-12-23
  • 2021-12-23
  • 2021-12-31
相关资源
相似解决方案