js和jq中常见的各种位置距离之offset和offset()的区别

Posted 吴秋彤的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js和jq中常见的各种位置距离之offset和offset()的区别相关的知识,希望对你有一定的参考价值。

offsetLeft:元素的边框的外边缘距离与已定位的父容器(offsetparent)的左边距离(不包括元素的边框和父容器的边框)。

offset().left:返回的是相对于当前文档的坐标,使用offset()方法不管该元素如何定位,也不管其父元素如何定位,都是获取的该元素相对于当前窗口的偏移坐标

附上调试代码:

 1     <style>
 2         *{margin:0;padding:0;}
 3         #parent{ position: relative; padding: 10px; margin:30px; background-color:#CCC; border: solid 10px #fbc;}
 4         #child{ height: 200px; width: 200px; padding: 10px; margin: 30px;border: solid 10px #fbc;background-color:#afb;}
 5     </style>
 6     <body>
 7     <div id="parent"> 
 8         <div id="child">
 9         </div>
10        </div>
11        <script src="jquery_1.11.3.min.js"></script>
12        <script>
13 
14 
15            var child = $("#child").get(0);
16            console.log( "offsetLeft: " + child.offsetLeft);
17         console.log( "offset().left: " + $("#child").offset().left);
18        </script>

 注:此文为原创,如需转载请注明出处。

以上是关于js和jq中常见的各种位置距离之offset和offset()的区别的主要内容,如果未能解决你的问题,请参考以下文章

关于JQ offset()top 获取位置不准确的解决方法

JQ的offset().top与JS的getBoundingClientRect区别详解,JS获取元素距离视窗顶部可变距离

jq获取某个元素距离可视窗口距离怎么写

jq滚动到一定位置的出现动画效果

20190430-screenclientoffsetscroll等JS中各种宽度距离

JQ之 offset 和 position 的用法与区别