ネストされた順序付けられていないリストがあります。私はお互いの下に水平メニューとしてこれを表示する必要があります。最大の問題は、このリストにいくつのレベルがあるか分かりません。したがって、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>
は、メニューの下に表示されます。私たちの場合:メニュー1-1 divをクリックすると、コンテンツ 'Some content A'が表示されます。
私は再帰を試み、CSSを使用していますが、動作させることができません。 Thnxは事前に。
これは素晴らしいです。正確に私が必要としたもの。メニュー2のサブメニューを左に揃えることはできますか? –
ええ、私は確信しています。私はそれほど瞬間に頭を浮かべることはできませんが、子要素についていくつかのポジショニングを使用します。おそらく絶対にする必要があるかもしれませんが、幅などを設定する必要があります。 – Jaijaz
これをcss left:0; ul li ul.activeへと働きました。アドバイスのためのThnx。 –