|
用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); |