本文實例講述了js實作jquery的offset()方法。分享給大家供大家參考。具體分析如下:
用過jQuery的offset()的同學都知道offset().top或offset().left很方便地取得元素相對於整個頁面的偏移。
而在js裡,沒有這樣直接的方法,節點的屬性offsetTop可以獲得該節點相對於父節點的相對偏移,但不能直接獲得其絕對偏移,我們可用節點逐層遞歸向上來相加offsetTop來獲得絕對偏移。
if (Node == document.body) {//當該節點為body節點時,結束遞迴
return offset;
}
offset.top = Node.offsetTop;
offset.left = Node.offsetLeft;
return getOffset(Node.parentNode, offset);//向上累加offset裡的值
}
使用時,則如:
希望本文所述對大家的javascript程式設計有所幫助。