如果单击其他子菜单,我需要关闭子菜单并打开一个子菜单,这意味着我不希望一次打开多个子菜单。但是所有的子菜单都应该能够关闭。
这是我的jquery脚本:
<script>
$('.show_hide').hide();
$("li:has(ul)").click(function(){
$("ul",this).toggle('slow');
});
</script>
和html:
<ul id="left-menu" class="menu-v">
<li>
<a>Menu</a>
<ul class="menu-v show_hide">
<li>
<a >submenu </a>
</li>
<li>
<a >submenu 2</a>
</li>
</ul>
</li>
</ul>
答案 0 :(得分:3)
也许想这样(我举了你的例子) - &gt; http://jsfiddle.net/7qyE9/3/
HTML:
<ul>
<li class="main-menu">
<span>Test</span>
<ul class="submenu">
<li>Item1</li>
<li>Item2</li>
</ul>
</li>
<li class="main-menu">
<span>Abcde</span>
<ul class="submenu">
<li>Item3</li>
<li>Item4</li>
</ul>
</li>
</ul>
和javascript
$(document).ready(function(){
$(".main-menu .submenu").hide();
$(".main-menu span").click(function(){
$(".main-menu .submenu").hide('fast');
$(this).parent().find("ul").toggle('fast');
});
});
答案 1 :(得分:2)
我不确切地知道你在寻找什么,如果你想再详细说明一点,我可以改进我的答案。
这是jsfiddle示例
<强> HTML 强>
<ul id="left-menu" class="menu-v">
<li>
<ul class="show_hide">
<li>
<a >submenu </a>
</li>
<li>
<a >submenu 2</a>
</li>
</ul>
</li>
<li>
<ul class="show_hide">
<li>
<a >submenu 4</a>
</li>
<li>
<a >submenu 5</a>
</li>
</ul>
</li>
</ul>
<强> JQUERY 强>
$(document).ready(function() {
$('.show_hide').hide();
$("li:has(ul)").click(function() {
$("ul", this).toggle('slow');
});
});
答案 2 :(得分:1)
<ul>
<li><a>0 Level menu<a></li>
<li><a>0 Level menu<a></li>
<li><a>0 Level menu<a></li>
<li class="parentMenu">
<ul>
<li class="alwaysShow"><a>0 Level menu<a><li>
<li class="hidden"><a>1 Level menu<a><li>
<li class="hidden"><a>1 Level menu<a><li>
<li class="hidden"><a>1 Level menu<a><li>
</ul>
</li>
</ul>
$(".parentMenu").hover(
function () {
$(this).find(".hidden").show("100");
},
function () {
$(this).find(".hidden").hide("100");
}
);