2012-09-20 110 views
0

我已经创建了此下拉菜单,它可以在点击上工作,但是当您点击下一个链接时,第一个放置框保持打开状态。 另外,当我从数据库中提取内容并且页面不刷新时,如何在单击某个子项时关闭菜单。DropDown菜单关闭问题

$(document).ready(function(){ 
$("#top-nav li").toggle(function(){ 
$("ul",this).show(); 
$("a.top-nav-link", this).addClass('selected'); 

      }, function(){$('ul',this).hide(); 
    $("a.top-nav-link", this).removeClass('selected'); 
      }); }); 
    <ul id="top-nav"> 
<li> 
    <a href="#" class="top-nav-link">INDIAN</a> 
    <ul> 
     <li> 
       <div class=" one-wrap set-column"> 
       <a href="#" >INDIAN</a> 
      <a href="#" >CHINESE</a> 
      <a href="#" >ITALIAN</a> 
      <a href="#" >PUB FOOD</a> 
      <a href="#" ></a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
        <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
       <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 


      </div> 
     </li> 

    </ul> 

    </li> 
      <li> 
       <a href="#" class="top-nav-link">CHINESE</a> 

       <ul> 
       <li> 
        <div class=" two-wrap set-column"> 
       <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
        <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
       <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      <a href="#" >Menu</a> 
      </div> 
      </li> 
      </ul> 
      </li> 
+0

看到你的HTML将有助于... –

+2

请包括您的HTML代码以及。也是你的jQuery函数不完整,看起来这样对我。 – Steven

+0

你可以使用jsfiddle(http://jsfiddle.net/)给我们一个你的代码的实例 – BBog

回答

0

您可以关闭所有现有的下拉菜单中点击一个链接时,然后滑下一个现在应该滑下:

$("#link").click(function() { 
    $(".dropdown").slideUp(); #slides up the currently slided down drop-down menu, if any 
    $(".dropdown#specific_to_this_link").slideDown(); 
}); 

关于你提到的第二个问题,如果你想父菜单折叠起来时,单击从菜单中的一个链接,这样做:

$(".dropdown .child").live('click', function() { 
$(this).parent().slideUp(); 
}); 

您可以使用on,最近版本的live,现在已经折旧了。

+0

最后得到它的工作,感谢Cupidvogel, –