2013-01-11 53 views
5

你好如何獲得沒有jQuery的固定元素的位置?

我有固定位置的元件,我無法檢測位置,並且必須採用javascript清楚,無框架(jquery的,mootools的,等等)。

+1

可能重複:http://stackoverflow.com/questions/442404/dynamically-retrieve-the-position-xy-of-an-html -element –

回答

2
function findPos(obj) { 

    var curleft = curtop = 0; 

    if (obj.offsetParent) 
    do { 
     curleft += obj.offsetLeft; 
     curtop += obj.offsetTop; 

    } while (obj = obj.offsetParent); 

    return [curleft,curtop]; 
} 

http://www.quirksmode.org/js/findpos.html

+0

語法錯誤「if(obj.offsetParent){」 –

+0

@Totty您是否正確使用了該函數?你是否傳入了一個實際的元素而不是ID字符串? –

+0

首先你有一個語法問題,你打開「{」(看看「if(obj.offsetParent){」)但你不關閉它!你有沒有讀過你自己的代碼?無論如何,這不適用於滾動的div。 –

3

這是否幫助:

document.getElementById('id').offsetLeft // + window.scrollX 
document.getElementById('id').offsetTop // + window.scrollY 

你可能想看看:This Question

6

用途:

var boundingBox = node.getBoundingClientRect(); 

檢查出來的結果,你有一個這樣的對象:

top : 0, 
right : 0, 
bottom : 0, 
left : 0, 
width : 0, 
height : 0 
相關問題