js和jq中常见的各种位置距离之offsetLeft/clientLeft/scrollLeft (一)

offsetLeft offsetTop offsetWidth offsetHeight

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

offsetTop:同理是指元素的边框的外边缘距离与已定位的父容器(offsetparent)的上边距离(不包括元素的边框和父容器的边框)。

offsetWidth:描述元素外尺寸宽度,是指元素内容宽度+内边距宽度(左右两个)+边框(左右两个),不包括外边距和滚动条部分。

 offsetHeight:同理 描述元素外尺寸高度,是指 元素内容高度+内边距高度(上下两个)+边框(上下两个),不包括外边距和滚动条部分。

clientLeft clientTop clientWidth clientHeight

clientLeft:元素的内边距的外边缘和边框的外边缘的距离,实际就是边框的左边框宽度

clientTop:同理边框的上边框的宽度

clientWidth:用于描述元素内尺寸宽度,是指 元素内容+内边距 大小,不包括边框、外边距、滚动条部分

clientHeight:同理 用于描述元素内尺寸高度,是指 元素内容+内边距 大小,不包括边框、外边距、滚动条部分

scrollTop scrollLeft scrollWidth scrollHeight

scrollWidth:内容区域尺寸加上内边距加上溢出尺寸,当内容正好和内容区域匹配没有溢出时,这些属性与clientWidth和clientHeight相等 !important

scrollHeight:同上

scrollTop:滚动条上方卷去的高度

scrollLeft:滚动条左边卷去的宽度

下面贴上调试代码:

 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         #parent1{ padding: 10px; background-color: #fc8; width:300px;  height:300px;overflow:auto ;clear:both; }
 6         #child1 { background-color: #bfc; width: 400px; height: 400px;border: 10px solid  #c8f;}
 7     </style>
 8     <body id="body">
 9         
10     <div id="parent"> 
11         <div id="child">
12         </div>
13        </div>
14 
15     <div id="parent1">
16         <div id="child1">
17         </div>
18     </div>
19     <script src="jquery_1.11.3.min.js"></script>
20     <script type="text/javascript">
21 
22         var child = $("#child").get(0);
23         console.log($("#child"))//获得对象
24         console.log(child)//获得DOM元素
25         //$("#child")是一个对象 此处要获得DOM元素  因此要加get(0) 
26         //get()是获取所有DOM元素的集合  因此加get(0)
27 
28 //        console.log( "offsetParent: " + child.offsetParent.id);
29 //        console.log( "offsetHeight: " + child.offsetHeight);
30 //        console.log( "offsetWidth: " + child.offsetWidth);
31 //        console.log( "offsetLeft: " + child.offsetLeft);
32 //        console.log( "offsetTop: " + child.offsetTop);
33           
34 
35 //---------------------------------------------------------------- 
36 
37 
38 //        console.log( "clientHeight: " + child.clientHeight);
39 //        console.log( "clientWidth: " + child.clientWidth);
40 //        console.log( "clientLeft: " + child.clientLeft);
41 //        console.log( "clientTop: " + child.clientTop);
42         
43 //---------------------------------------------------------------- 
44 
45 
46 
47         var parent1 = $("#parent1").get(0);
48 //        console.log( "clientHeight: " + parent1.clientHeight);
49 //        console.log( "clientWidth: " + parent1.clientWidth);
50         console.log( "scrollHeight: " + parent1.scrollHeight);
51         console.log( "scrollWidth: " + parent1.scrollWidth);
52 //        
53 //       $("#parent1").scroll(function(){
54 //               var scrollTop = document.documentElement.scrollTop||document.body.scrollTop
55 //               var scrollLeft = document.documentElement.scrollLeft||document.body.scrollLeft
56 //            console.log( "scrollTop: " + parent1.scrollTop);
57 //            console.log( "scrollLeft: " + parent1.scrollLeft);
58 //        })
59         
60 
61 
62     </script>
63     </body>

View Code

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注