首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

【】=======offsetLeft 取到奇怪的值=======

2012-03-24 
【在线等】offsetLeft 取到奇怪的值HTML code!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0

【在线等】=======offsetLeft 取到奇怪的值=======

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>无标题文档</title>    <script type="text/javascript">        window.onload=function()        {            [color=#FF0000]//在ie上取到的是5,可在火狐上取到的是 284,这差距也太大了把??            //offsetLeft 不是取这个元素距父元素的左边距离吗??[/color]            alert(document.getElementById("borderDivII").offsetLeft);        };    </script></head><body>   <div style="float:left;width:270px;height:200px">      d   </div>                   <div style="float:left;width:460px;height:200px;border:cyan solid 1px;">      <div id="borderDivII" style="width:98%;height:50px;border:gray Dashed 1px;margin:5px 5px 5px 5px;"></div>   </div>     </body></html>



//在ie上取到的是5,可在火狐上取到的是 284,这差距也太大了把??
//offsetLeft 不是取这个元素距父元素的左边距离吗??

[解决办法]
offsetTop
获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算顶端位置。

offsetLeft
获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。

offsetHeight
获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。 
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。

offsetWidth
获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。

offsetParent
获取定义对象 offsetTop 和 offsetLeft 属性的容器对象的引用

[解决办法]
http://www.cnblogs.com/panjun-Donet/articles/1294033.html
你看看这里面介绍的你就会明白怎么回事
[解决办法]
IE:
var op = document.getElementById("borderDivII");
var oleft = op.offsetLeft;
while(op.offsetParent!=null){
op = op.offsetParent;
oleft += op.offsetLeft;
}
alert(oleft);

[解决办法]
探讨
<div>
<div id="ddd"></div>
</div>

我这样写的话,获取 id为ddd 的div 的 offsetParent 都是body 为什么?(IE和火狐一样)

[解决办法]
这里我说的有点歧义了,应该说你的DIV的容器是BODY

热点排行