我有一個嵌套的無序列表。我需要將它作爲水平菜單顯示在彼此之下。最大的問題是我不知道我將在這個列表中獲得多少級別,所以我想創建可用於n級列表深度的功能。名單多級無序列表到交互式水平菜單
例子:
<ul id="data">
<li>
<h1>Menu 1</h1>
<ul>
<li>
<h1>Menu 1-1</h1>
<ul>
<li>
<div>Some content A</div>
</li>
</ul>
</li>
<li>
<h1>Menu 1-2</h1>
<ul>
<li>
<div>Some content B</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<h1>Menu 2</h1>
<ul>
<li>
<h1>Menu 2-1</h1>
<ul>
<li>
<div>Some content C</div>
</li>
</ul>
</li>
<li>
<h1>Menu 2-2</h1>
<ul>
<li>
<div>Some content E</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
這將如何工作的理念是:
Menu 1 Menu 2
Menu 1-1 Menu 1-2
其他列表中默認是隱藏的。當我點擊菜單2的結果必然是:
Menu 1 Menu 2
Menu 2-1 Menu 2-2
當我點擊一個特定的<h1>
,並在同一水平線上,因爲這元素<ul>
元素沒有孩子<h1>
,元素<div>
顯示在菜單的下方。在我們的例子中:當我點擊內容爲'Some content A'的Menu 1-1 div時。
我已經試過遞歸和只使用CSS,但我不能讓它工作。 Thnx提前。
這太棒了。正是我需要的。是否可以將菜單2的子菜單與左邊對齊? – 2011-12-22 10:23:08
是的,我確定。我不能說,現在我的頭在附近,但我會對子元素進行一些定位。可能它可能需要是絕對的,但是你需要設置寬度等。 – Jaijaz 2011-12-22 11:29:34
我將此添加到css left:0;以ul ul.active和它的工作。 Thnx尋求建議。 – 2011-12-22 14:45:02