Jen

Java Script取得DOM元素offsetTop屬性問題

element.offsetTop;
element.offsetLeft
 
除了IE環境以外,
offsetTop屬性會傳回element距離document頂端之距離,
offsetLeft屬性會傳回element距離document左端之距離.
 
但,在IE環境,
offsetTop屬性會傳回element距離element.parent頂端之距離,
offsetLeft屬性會傳回element距離element.parent左端之距離.
 
$(element).position().top;
jQuery會幫您解決?     並沒有
 
 
實際走訪了各大網站,整理出一個小小的function,
在IE系列Browser傳入該元素,會傳回距離document.top之距離.
function getElementTop(Elem) {
    y = Elem.offsetTop;
    temp = Elem.offsetParent;
    while (temp != null) {
        y += temp .offsetTop;
        temp = temp .offsetParent;
    }
    return y;
}
 
簡單說就是把元素距離父層的值透過假遞迴的方式相加,
最後得解.

0 意見: