在做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沒問題。