【】=======offsetLeft 取到奇怪的值=======
【在线等】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的容器是BODY