原生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 节点到浏览器顶部的距离或者左侧的距离的主要内容,如果未能解决你的问题,请参考以下文章