1

如果单击了其他子菜单,我需要关闭一个子菜单并打开一个新子菜单,这意味着我不希望一次打开多个子菜单。但是,所有子菜单都应该能够关闭。

这是我的 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>
4

3 回答 3

4

也许想要这样(我给你举了例子)-> 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');
    });
});
于 2012-08-10T12:59:20.250 回答
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>​

查询

$(document).ready(function() {
    $('.show_hide').hide();
    $("li:has(ul)").click(function() {
        $("ul", this).toggle('slow');
    });
});​
于 2012-08-10T13:00:52.370 回答
1

HTML

<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");
        }
);
于 2013-02-27T13:22:14.923 回答