用offset定位要注意的地方
通常style.pixelLeft等都是不可靠的。
因为如果他们如果没有被修改过就为0
为了更好地得到一个对象在文档中位置
要考虑他们的offsetParent
演示如下
假设我们已经得到一个经过很多层TABLE或DIV的对象 id1 .
以下是得到它相对于body的位置
function Point()
{
this.l=0;
this.t=0;
}
function GetOffset(id)
{
var l=0;
var t=0;
do
{
l+=id.offsetLeft;
t+=id.offsetTop;
}while(id=id.offsetParent);
var p=new Point();
p.l=l;
p.t=t;
return p;
}
//这个pnt.l就是绝对的左距离,pnt.t就是绝对的顶距离
var pnt=GetOffset(id1);