2013-05-25 82 views
3

與jQuery我寫了下面高度複雜的代碼:jquery css('left',...)位置錯誤?

val = 100; 
n.css('left', val /* + 'px' */); 
console.log(val, n.css('left')); 

它的控制檯輸出爲:

100, "90px" 

爲什麼會這樣......?

預先感謝一些幫助

編輯: 下面是一個例子:http://jsfiddle.net/RaznH/1/ 您需要將您的瀏覽器縮小(例如使用「CTRL - 」),並以具有顯示效果打開控制檯

+1

,當我試圖..its' 100「auto」'' - >'http://jsfiddle.net/VqH9x/ –

+0

它取決於CSS。我們需要一個小提琴或至少更多的代碼來解釋它。 –

+0

例如:http://jsbin.com/ogodiz/1/edit –

回答

0

你不應該使用它。相反,使用:

.offset().left 

所以,你將有這樣的代碼:,它是基於瀏覽器,它解釋相對於文檔

console.log(val, n.offset().left); 

,或者可以是你的問題。

jQuery的API

獲取所述第一元件的當前座標,或設置的每個元件的座標,在所述一組匹配的元素,相對於文檔的。

1

除了在元素上聲明的靜態(相對,絕對或固定)之外,您還需要有一個position,否則它將不起作用。

以評論中的示例爲例:http://jsfiddle.net/VqH9x/1/當您聲明正確的位置時,一切正常。