我有一个可折叠子菜单的菜单,有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