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