2011-12-21 103 views
0

我有一個菜單工作不正常。看看下面的代碼:http://jsfiddle.net/PX9nU/1/使用.position與css位置:相對未按預期工作

#menu li,如果我離開position: relative到位,控制檯當您懸停記錄所有菜單項的0左。如果我刪除position: relative,它會記錄每個項目的預期正確左值。

我需要position: relative適當的子菜單格式正確,但我需要左值來正確輸出一些動畫,我試圖實現。

- 爲什麼左邊沒有返回期望值position: relative

- 是否有另一種方法來獲取每個項目的左值,因爲它們被盤旋?

+0

究竟是什麼期望值?如果你設置position:relative(或任何位置)top和left默認爲0,直到你設置它們,否則。在您提供的鏈接中,您沒有爲任何元素設置左側或頂部屬性。 – 2011-12-21 02:57:35

+0

嘗試使用.Offset()方法 – frenchie 2011-12-21 05:15:22

回答

1

問題是你的jQuery選擇器。您正在選擇$('#menu li .item'),這會讓您回到鏈接元素。在這些函數上調用position()將在它們的父元素(封閉的LI)中給出它們的位置,在每種情況下都是0,0。我想你想要把UL封裝在UL的位置,你可以這樣:

p = $(this).parent().position(); 
+0

謝謝!這是做到了,現在變得非常有意義。 TA – TH1981 2011-12-21 14:43:09