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>
注:此文为原创,如需转载请注明出处。