2016-12-14 72 views
0
$(".cus-nav .navbar-nav > li").click(function(){ 
    $(this).find(".mega-menu").slideToggle("fast"); 
}); 

當我點擊li時,mega菜單將打開並切換。當我點擊另一個李時,它會打開它的大菜單。但第一個大型菜單仍然開放。所以我想單擊li只顯示一個超大菜單。點擊一次顯示一個

回答

1

難道你不只是隱藏所有的大型菜單才顯示你想要的?

$(".cus-nav .navbar-nav > li").click(function(){ 
    $(".mega-menu").hide(); 
    $(this).find(".mega-menu").slideToggle("fast"); 
}); 

如果需要動畫只是打開關上了一個再打開時,你可以添加一個類,所以你可以再次找到它後

$(document).ready(function() { 
    $(".navbar-bar > li").click(function() { 
     var $showMenu = $(this).find(".mega-menu"); 
     var openMenu = !$showMenu.hasClass("opened"); 

     var $closeMenu = $(".mega-menu").filter(".opened"); 
     $closeMenu.removeClass("opened"); 
     $closeMenu.slideToggle("fast"); 

     if(openMenu){ 
      $showMenu.addClass("opened"); 
      $showMenu.slideToggle("fast"); 
     };  
    }); 
}); 
+0

同時是開放的,但切換不加工。它不關閉。 –

+0

使用此代碼和哪些css必須爲哪個類編寫? –

+0

以下是一個工作示例https://jsfiddle.net/mv8LkL0v/1/ – BenBlanch