`
星海孤舟
  • 浏览: 67161 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

offsetleft,offsettop,scrollleft,scrolltop

阅读更多

转自:http://cxhgoo.iteye.com/blog/337615

offsetleft,offsettop,scrollleft,scrolltop

一直以来对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>
分享到:
评论

相关推荐

    javascript scrollLeft,scrollWidth,clientWidth,offsetWidth 完全详解

    scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度 offsetHeight:获取对象相...

    仿淘宝提示窗口(html+js)

    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; } ...

    JS大全 web编程

    offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标 event.offsetX 相对容器的水平坐标 event.offsetY 相对容器...

    可以实现拖动的DIV模态窗口代码

    mouseBeginX = parseInt(document.body.scrollLeft) + parseInt(event.clientX); mouseBeginY = parseInt(document.body.scrollTop) + parseInt(event.clientY); //拖曳对象起始top,left值 modeBeginTop = ...

    javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等

    HTML精确定位属性:scrollLeft,scrollWidth,clientWidth,...offsetParent 属性指定的父坐标的高度offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置offsetTop:获取对象

    javascript中offset、client、scroll的属性总结

     第一组:offsetWidth,offsetHeight,offsetLeft,offsetTop,offsetParent  第二组:clientWidth,clientHeight,clientLeft,clientTop  第三组:scrollWidth,scrollHeight,scrollLeft,scrollTop  详细定义如下:  ...

    原生js简单实现放大镜特效

    offsetLeft父元素没有定位时,获取元素距离页面的左边距,父元素有定位时,获取元素距离父元素的左边距 offsetTop父元素没有定位时,获取元素距离页面的上边距,父元素有定位时,获取元素距离父元素的上边距 ...

    基于javascript的无缝滚动动画实现2

    不过换汤不换药,还是来来回回在scrollTop/scrollLeft与offsetTop/offsetLeft上做文章。总的思路基本是这样,让某个元素整体向某个方向移动,这样它里面的内容(图片或文字)就跟着移动,当元素移动到某一个距离后就...

    JS获取各种宽度、高度的简单介绍

    scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度 offsetHeight:获取对象相...

    JavaScript Table行定位效果

    一开始的需求只是表头部分在滚动时能一直固定在头部,那关键要实现的就是让tr能定位。 首先想到的方法是给tr设置relative,用ie6/7测试以下代码: Code &lt;!... ...给tr设置relative后就能相对table定位了,看来很简单啊...

    图片放大镜

    var x = e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y = e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); ...

    实现百度效果 自动显示数据库中的数据

    var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST }; if (el.offsetParent) { var tmp = this.getAbsolutePos(el.offsetParent); r.x += tmp.x; r.y += tmp.y+2.5; } return r; } function ...

    my97日历控件

    =null&&(A.scrollTop&gt;_.scrollTop||A.scrollLeft&gt;_.scrollLeft))?A:_;return{"top":B.scrollTop,"left":B.scrollLeft}}function D($){try{var _=$?($.srcElement||$.target):null;if($dp.cal&&!$dp.eCont&&$dp.dd&&_...

    出现问题a is defined高手帮忙

    &lt;!... 便民设施系统 ; charset=gbk"/&gt; &lt;link rel="stylesheet" type="text/css" href="style.css"&gt;&lt;/link&gt; ... key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ- ... function DragZoomControl(opts_...

    js使用小技巧

    s += " 网页被卷去的左:"+ document.body.scrollLeft; s += " 网页正文部分上:"+ window.screenTop; s += " 网页正文部分左:"+ window.screenLeft; s += " 屏幕分辨率的高:"+ window.screen.height; s += " ...

    新浪推荐浮动广告

    c={ x:elmt.offsetLeft, y:elmt.offsetTop }; //c.x=this.parseInt(c.x); //c.y=this.parseInt(c.y); if (withMargin){ var m=this.getMargin(elmt); ...

Global site tag (gtag.js) - Google Analytics