在做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没问题。