2015-09-24 332 views
0

我正在使用引導菜單下拉菜單。點擊一個菜單選項,它的子菜單應該打開 - 即完成。現在點擊其他菜單下拉菜單,上一個菜單應該關閉 - 這也完成了。現在,如果主頁下拉菜單打開它的子​​菜單,如果我再次點擊主頁下拉菜單,它應該關閉。它是我想要的。 我的代碼去爲:導航菜單下拉關閉點擊

<nav class="navbar easy-sidebar" > 
    <div class="sample"> 
     <ul class="list-unstyled main-menu" ng-repeat="menu5 in indController.newArray"> 
      <li class="dropdown"> 
       <label class="navbar-collapse-btn" data-toggle="collapse" data-target=".{{menu5.mainMenu}}" id="nav-main"> 
        {{menu5.mainMenu}} 
        <b class="menu-caret"></b> 
       </label> 
       <div class="{{menu5.mainMenu}} collapse" ng-repeat="menu1 in menu5.subMenus" > 
        <a href="#/{{menu1.sub_menu_link}}" class="list-group-item" onclick="closenav()" ng-click="indController.showheader(menu1.sub_menu_header)">{{menu1.sub_menu_title}} </a> 
       </div> 
      </li> 
     </ul> 
    </div> 
</nav> 

//on clicking one dropdown,the other dd autocloses. 
     $('.sample').click(function() { 
      var $target = $($(this).data('target')); 
      if (!$target.hasClass('in')){ 
       $('.sample .in').removeClass('in').height(0); 
       } 
       else{ 
        $('.sample .in').addClass('in').height(0); 
       } 
     }); 
+0

請爲你的問題提琴:http://jsfiddle.net –

+0

請爲我們提供一個工作的例子,如由瘋狂骷髏說。所以我們可以確定問題所在。 –

+0

https://jsfiddle.net/1k7h5hzf/ 這是我的代碼看起來像。它不工作雖然。我不能添加引導庫文件。 我想要的是,當我點擊設置,打開後,當點擊家中後,設置關閉和家庭打開,現在家庭是開放的,當我再次點擊家庭時,它應該關閉。 –

回答

0

在點擊刪除所有類「中」或一個使你的菜單中打開。這樣的事情:

$('.dropdown').on('click', function(){ 
    $('.in').removeClass('in'); 
    // other things.. 
}); 

不要在jQuery中使用高度做這項工作,最好使用類。