一直以来对offsetleft,offsettop,scrollleft,scrolltop这几个方法很迷糊,花了一天的时间好好的学习了一下.得出了以下的结果:
1.offsettop :
当前对象到其上级层顶部的距离.
不能对其进行赋值.设置对象到页面顶部的距离请用style.top属性.
2.offsetleft :
当前对象到其上级层左边的距离.
不能对其进行赋值.设置对象到页面左部的距离请用style.left属性.
3.offsetwidth :
当前对象的宽度.
与style.width属性的区别在于:如对象的宽度设定值为百分比宽度,则无论页面变大还是变小,style.width都返回此百分比,而offsetwidth则返回在不同页面中对象的宽度值而不是百分比值
4.offsetheight :
与style.height属性的区别在于:如对象的宽度设定值为百分比高度,则无论页面变大还是变小,style.height都返回此百分比,而offsetheight则返回在不同页面中对象的高度值而不是百分比值
5.offsetparent :
当前对象的上级层对象.
注意.如果对象是包括在一个div中时,此div不会被当做是此对象的上级层,(即对象的上级层会跳过div对象)上级层是table时则不会有问题.
利用这个属性,可以得到当前对象在不同大小的页面中的绝对位置.
得到绝对位置脚本代码
1function getposition(obj)
2{
3 var left = 0;
4 var top = 0;
5
6 while(obj != document.body)
7 {
8 left = obj.offsetleft;
9 top = obj.offsettop;
10
11 obj = obj.offsetparent;
12 }
13
14 alert("left is : " + left + "\r\n" + "top is : " + top);
15}
6.scrollleft :
对象的最左边到对象在当前窗口显示的范围内的左边的距离.
即是在出现了横向滚动条的情况下,滚动条拉动的距离.
7.scrolltop
对象的最顶部到对象在当前窗口显示的范围内的顶边的距离.
即是在出现了纵向滚动条的情况下,滚动条拉动的距离.
Feedback
#1楼 回复 引用
2008-05-27 04:21 by myun [未注册用户]
8 left += obj.offsetleft;
9 top += obj.offsettop;
这两行要这样才能获得绝对位置
#2楼 回复 引用
2008-12-09 14:07 by asdwewe32 [未注册用户]
<!--现场图片开始-->
<div class="space14"></div>
<div class="pictit">现场图片</div>
<div class="piccon">
<div class="space20"></div>
<div class="pics">
<div class="lj"><img src="images/l.gif" id=img_l onclick=doslide(-1) alt=向左滚动/></div>
<div id=description>
<div id=content0>
<ul id=piccontent>
<li><img src="images/1.jpg" /></li>
<li><img src="images/2.jpg" /></li>
<li><img src="images/3.jpg" /></li>
<li><img src="images/4.jpg" /></li>
<li><img src="images/1.jpg" /></li>
<li><img src="images/4.jpg" /></li>
<li><img src="images/1.jpg" /></li>
<li><img src="images/4.jpg" /></li>
<li><img src="images/1.jpg" /></li>
</ul></div>
</div>
<div class="yj"><img src="images/r.jpg" id=img_r onclick=doslide(1) alt=向右滚动 /></div>
<div class="clear-both"></div>
</div>
</div>
<!--现场图片结束--> <!--现场图片开始-->
<div class="space14"></div>
<div class="pictit">现场图片</div>
<div class="piccon">
<div class="space20"></div>
<div class="pics">
<div class="lj"><img src="images/l.gif" id=img_l onclick=doslide(-1) alt=向左滚动/></div>
<div id=description>
<div id=content0>
<ul id=piccontent>
<li><img src="images/1.jpg" /></li>
<li><img src="images/2.jpg" /></li>
<li><img src="images/3.jpg" /></li>
<li><img src="images/4.jpg" /></li>
<li><img src="images/1.jpg" /></li>
<li><img src="images/4.jpg" /></li>
<li><img src="images/1.jpg" /></li>
<li><img src="images/4.jpg" /></li>
<li><img src="images/1.jpg" /></li>
</ul></div>
</div>
<div class="yj"><img src="images/r.jpg" id=img_r onclick=doslide(1) alt=向右滚动 /></div>
<div class="clear-both"></div>
</div>
</div>
分享到:
相关推荐
### 对offsetLeft,offsetTop,scrollLeft,scrollTop几个方法的理解 在前端开发中,了解DOM元素的位置、大小以及滚动情况是非常重要的。`offsetLeft`, `offsetTop`, `scrollLeft`, `scrollTop`等属性可以帮助我们更好...
### JS中offsetTop、clientTop、scrollTop、offsetHeight各属性详解 #### 一、概述 在JavaScript中,处理页面布局和滚动效果时经常会用到一些DOM属性,如`offsetTop`、`clientTop`、`scrollTop`和`offsetHeight`等...
Js 中关于 top、clientTop、scrollTop、offsetTop 在 JavaScript 中,top、clientTop、scrollTop 和 offsetTop 是四个常用的属性,它们都与元素的位置或尺寸相关。下面,我们将详细介绍这四个属性的含义、用法和...
总结一下,`scrollLeft`、`scrollTop`、`offsetTop`、`offsetLeft`、`clientHeight`、`offsetHeight`和`scrollHeight`是Web开发中的核心属性,它们帮助开发者精确控制和响应网页元素的滚动和布局,是构建交互性更强...
在JavaScript中,处理页面元素的位置和尺寸时,经常会用到几个关键属性,如`scrollHeight`、`scrollWidth`、`scrollLeft`和`scrollTop`。这些属性在不同的场景下有着各自独特的用途,理解它们之间的差异是进行网页...
`scrollTop`和`scrollLeft`是滚动条相关的属性,它们分别表示元素内容相对于可视区域顶部和左侧滚动的像素量。`scrollTop`增加时,内容向下滚动;`scrollLeft`增加时,内容向右滚动。 在实际开发中,理解这些属性的...
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度 offsetHeight:获取对象相...
在这个例子中,`test`函数会输出`myDiv`元素的`offsetTop`, `offsetLeft`, `scrollTop`和`scrollLeft`值。通过观察这些值的变化,我们可以了解元素的位置和滚动状态。 总结来说,`offset`和`scroll`属性在...
p[0] += a.offsetLeft - (tn == "DIV" && a.scrollLeft ? a.scrollLeft : 0); p[1] += a.offsetTop - (tn == "DIV" && a.scrollTop ? a.scrollTop : 0); if (tn == "BODY") break; a = a.offsetParent; } ...
对于 Safari 和 Opera 浏览器,可以通过累加每个父级元素的 `offsetLeft` 和 `offsetTop` 来计算元素的位置。 ```javascript else { // Safari & Opera var pos = [el.offsetLeft, el.offsetTop]; var parent = el...
文章中提供的HTML测试代码展示了如何通过JavaScript来获取元素的offsetTop、offsetLeft、scrollLeft和scrollTop属性的值,并将这些值显示在页面上的对应元素中。 在编写和维护Web页面时,理解并正确使用scroll和...
1. **`offsetTop` 和 `offsetLeft`**:这两个属性可以获取元素相对于其最近的已定位祖先元素(position不为static)的偏移量。 2. **`clientTop` 和 `clientLeft`**:用于获取元素本身的边框宽度。 3. **`...
首先,我们要理解offset属性的两个关键部分:`offsetTop`和`offsetLeft`。`offsetTop`返回元素距离其最近的定位父元素(或body)顶部的距离,而`offsetLeft`返回元素距离其最近的定位父元素(或body)左边的距离。...
在IE8以下版本,可以使用`document.documentElement.scrollLeft`和`document.documentElement.scrollTop`或`document.body.scrollLeft`和`document.body.scrollTop`。 设置鼠标滚动值有以下两种方法: 1. 直接使用`...
**scrollLeft** 和 **scrollTop** 主要用于获取或设置元素滚动的位置。 - **scrollLeft**: 设置或获取位于元素左边界和窗口中目前可见内容的最左端之间的距离。这个距离可以用来确定页面在水平方向上的滚动程度。 -...
我们将以div元素为例,探讨clientHeight、clientWidth、offsetHeight、offsetWidth、clientTop、clientLeft、offsetTop、offsetLeft、scrollTop、scrollLeft和offsetParent这些属性。 clientHeight和clientWidth ...
所以我们需要结合`document.documentElement.scrollLeft`和`document.documentElement.scrollTop`(对于标准模式)或`document.body.scrollLeft`和`document.body.scrollTop`(对于怪异模式)来计算。这些属性分别...
- `obj.offsetTop` 和 `obj.offsetLeft` 返回元素相对于其最近的定位祖先元素(不包含滚动条)的上边界和左边界距离。 - 当元素的包含元素有滚动条时,`obj.offsetTop` 和 `obj.offsetLeft` 会考虑滚动条的影响。 ...