在做javascript的时候,经常会需要获取页面上某个元素的位置。javascript中的offsetTop和offsetLeft方法返回的是该对象相对于“相对父元素”的位置信息。元素的相对父元素是offsetParent而不是parentNode,这点很重要,如果使用parentNode,在页面的元素的样式中设置有float属性的时候,得到的很可能会是错误的位置信息。获得元素位置信息的代码如下:
        function positionOffset(element)
        {
                var top=0, left=0;
                do
                {
                        top+=element.offsetTop || 0;
                        left+=element.offsetLeft || 0;
                        element=element.offsetParent;
                }while(element);
                return [top, left];
        }
        经过测试,OK没问题。