原生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,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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM