所以動畫,我想創建一個包含的導航項目堆棧(行)的垂直導航菜單。當選擇其中一行時,我想要一個菜單從上方(和下方)滑出,並且此子菜單的頂部到達被單擊的行的底部。這些子菜單還應該有一個起始位置,其中子菜單底部等於相關的導航項目底部,以便在向下動畫時立即可見。 >http://jsfiddle.net/pGfCX/57/ -jQuery的:如何定位/絕對定位的元素相對於另一個元素
這種定位,停止和啓動點,可以在這個小提琴可見。只要注意開始點和結束點。由於位置的性質:相對而言,小提琴的其餘部分被打破。
我認爲的z-index可以解決後續的導航項目的推動(你可以在短短的鏈接的小提琴看)......然而,這似乎並沒有工作。它看起來像只有位置:絕對將啓用適當的重疊(即子菜單隱藏在它上面的元素下面,並覆蓋它下面的元素)。不幸的是,這也有問題。正如你可以在這個小提琴中看到的那樣:http://jsfiddle.net/pGfCX/60/。你會注意到開始位置和結束位置總是相同的,因爲我每次都使用同一個類。雖然我可以專門定位每個子菜單,因爲它是自己的唯一ID,但這樣做效率很低,難以維護。
Bsically,我需要這兩種方法的開始/結束位置和絕對啓用適當重疊的混合......相對定位。
希望這是有道理的......我真的需要幫助。我堅持這兩種方法,都沒有工作。這很令人沮喪。
這裏是我當前的jQuery代碼:
$('.row').click(function() {
// make all siblings AFTER row clicked get this class to reduce z-index and allow the menu to display above these rows (while still remaining below the rows above)
$(this).nextAll().addClass('rowZ');
$(this).next('.menu').show()
$(this).next('.menu').animate({'top':'0'});
});
// when menu is out, the row clicked is the header row, upon clicking this, the related menu (and by default, all subsequent menus within) animate back up and hide
$('.rowHead').click(function() {
$(this).next('.menu').animate({'top':'-100%'});
$(this).next('.menu').hide();
});
任何及所有幫助是極大的讚賞。謝謝!
編輯*導航項目中的新方法...菜單,使其具有絕對定位並相對於導航項目。然而,z-index的似乎關閉(即它的動畫在頂部的導航項目(它的父)雖然z-index的,否則建議:
難以試圖找出你在這裏實際完成的工作 - 你能稍微提高一下描述嗎?我認爲口頭解釋會更好,因爲這兩個小提琴都是半打破的 – netpoetica
我會盡力而且更加清晰......你必須將小提琴混合在一起創造出我想要的,哈哈。等一下,我會解釋。 – jstacks
_「此外,我想這些子菜單的起點也是相對於導航項目點擊」_ - 你有沒有嘗試把你的標記中的父菜單項的子菜單?如果父級具有'position:relative',則絕對定位的元素的座標仍然相對於其父級。 – nnnnnn