2012-01-19 53 views
1

折叠一个子菜单只是想挑选你的大脑有点这个问题我有使用jQuery设置一个可折叠的菜单。我目前正在使用slideToggle()函数通过菜单单击动画缩放,它可以独立地关闭和打开子菜单。但我试图找出一种方法让子菜单在另一个打开时崩溃。任何建议/提示将不胜感激。如何折叠另一个父菜单项与JQuery

jQuery的

<script> 
    function initMenu() { 
     $('#menu ul').hide(); 
     $('#menu li a').click(

     function() { 
     $(this).next().slideToggle('normal') 

     }); 

    } 
    $(document).ready(function() {initMenu();}); 
    </script> 

HTML

<ul id="menu"> 

    <li><a href="#">Home</a></li> 
    <li><a href="#">In the news</a> 

     <ul> 
      <li><a href="#">Youtube</a></li> 
      <li><a href="#">Blog</a></li> 

     </ul> 
    </li> 

    <li><a href="#">Who's Who?</a> 
     <ul> 
      <li><a href="#">Youtube</a></li> 
      <li><a href="#">Tackle Hunger Tackle Hunger</a></li> 
     </ul> 
    </li> 
    <li><a href="#">Services Offered</a></li> 

</ul> 

感谢,

安德烈

回答

1

Here is a working example.

function initMenu() { 
    $('#menu ul').hide(); 
    $('#menu > li > a').on('click', function() { 
     $('#menu ul').slideUp(); 
     $(this).next().slideDown(); 
    }); 
} 
$(document).ready(initMenu); 
0
function initMenu() { 
    $('#menu ul').hide(); 
    $('#menu li a').click(

    function() { 
     $('#menu ul').hide('normal'); 
     $(this).next().slideToggle('normal'); 

}); 

} 
$(document).ready(function() { 
    initMenu(); 
}); 

演示:http://jsfiddle.net/ex2z5/

0

把一个类你的菜单项,即“主菜单”,另一个是你的子菜单项,即“子菜单”,并作出函数关闭所有的“子”点击“主菜单”项目时发生的项目。