我有一個可摺疊子菜單的菜單,有3個級別的菜單,它工作正常,但我不知道如何摺疊所有子子級別時,您單擊摺疊父級。JQuery slideToggle,摺疊子元素
它的工作方式是,如果你點擊1級它擴展2級,然後如果你點擊2級它擴展級別3
的問題是,當各級都打開,我需要能夠單擊級別1並同時合併級別2和級別3。此刻我正在使用slideToggle。
我粘貼了下面的代碼,我知道這是一個非常垃圾的方法,但我必須將假H標籤分配給菜單項,因爲它是由ASP生成的:菜單控件,並且它沒有唯一的ID到菜單項,所以我不得不找到解決辦法。
HTML:
<div id="Div1" class="MenuBar">
<a href="#Menu1_SkipLink" style="position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;">Skip Navigation Links</a>
<div class="mainmenu" id="Div2">
<ul class="level1">
<li><a class="level1 staticItem level1">
<img src="/images/calculator.png" alt="" title="" class="icon" /><h7>Financial</h7></a></li>
<li><a class="level2 staticItem level2">
<h10>Address</h10>
</a></li>
<li><a class="level3 staticItem level3" href="javascript:openNewWin('/Controls/Financial/AddressBook.aspx')">
<h11>Address Book</h11>
</a></li>
<li><a class="level3 staticItem level3" href="javascript:openNewWin('/Controls/Financial/CustomerTypes.aspx')">
<h12>Customer Types</h12>
</a></li>
<li><a class="level1 staticItem level1">
<img src="/images/container.png" alt="" title="" class="icon" /><h8>Container</h8></a></li>
<li><a class="level2 staticItem level2">
<h13>Containers</h13>
</a></li>
<li><a class="level1 staticItem level1">
<img src="/images/product.png" alt="" title="" class="icon" /><h9>Product</h9></a></li>
</ul>
</div>
<a id="Menu1_SkipLink"></a>
</div>
JQuery的:
$(function() {
//When opening the page all level 2 and level 3 items must be hidden.
$(function() {
hideitems();
})
function hideitems() {
$('h10').slideUp();
$('h11').slideUp();
$('h12').slideUp();
$('h13').slideUp();
}
//Financial Click
$(document).ready(function() {
$('h7').click(function() {
$('h10').slideToggle();
});
});
//Address Click
$(document).ready(function() {
$('h10').click(function() {
$('h11').slideToggle();
$('h12').slideToggle();
});
})
});
如何,因爲我沒有JS的主摺疊所有子水位將不勝感激任何建議。
的[jQuery代碼可能重複的多級別下拉導航菜單](http://stackoverflow.com/questions/6623179/jquery-code-for-multi-level-dropdown-navigation-menu) – undefined
區別在於我無法修改UL中的任何內容,包括提供課程或ID。 – connersz
這聽起來太糟糕了,因爲標記生成器對HTML的基本原理並不瞭解。 – undefined