DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> js實現jquery的offset()方法實例教程
js實現jquery的offset()方法實例教程
編輯:JQuery特效代碼     

本文實例講述了js實現jquery的offset()方法。分享給大家供大家參考。具體分析如下:

用過jQuery的offset()的同學都知道offset().top或offset().left很方便地取得元素相對於整個頁面的偏移。

而在js裡,沒有這樣直接的方法,節點的屬性offsetTop可以獲得該節點相對於父節點的相對偏移,但不能直接獲得其絕對偏移,我們可用節點逐層遞歸向上來相加offsetTop來獲得絕對偏移。

代碼如下:function getOffset(Node, offset) {
    if (!offset) {
        offset = {};
        offset.top = 0;
        offset.left = 0;
    }

    if (Node == document.body) {//當該節點為body節點時,結束遞歸
        return offset;
    }

    offset.top += Node.offsetTop;
    offset.left += Node.offsetLeft;

    return getOffset(Node.parentNode, offset);//向上累加offset裡的值
}
 

使用時,則如:
代碼如下:var a = document.getElementById('a');
//getOffset(a).top
//getOffset(a).left

希望本文所述對大家的javascript程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved