2015-09-24 4 views
0

Я использую меню навигации для бутстрапа с выпадающим списком. При нажатии на один пункт меню его подменю следует открывать. Делает это. Теперь, щелкнув в раскрывающемся меню другого меню, предыдущий должен закрыть - это тоже сделано . Теперь, если раскрывающийся список Home открыт с его подменю, и если я снова нажму на раскрывающийся список Home, он должен закрыть. Это то, что я хочу. Мой код идет как:Навигационное меню выпадающего меню закрывается по щелчку

<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

Просьба предоставить нам рабочий пример, как сказал Insane Skull. Поэтому мы можем определить, в чем проблема. –

+0

https://jsfiddle.net/1k7h5hzf/ Вот как выглядит мой код. Он не работает. Хотя я не могу добавить файлы библиотеки начальной загрузки. То, что я хочу, - это когда я нажимаю на настройки, он открывается, когда после этого нажимается на дом, настройка закрытия и открытия дома открывается, теперь дома открыто, когда я нажимаю на кнопку «снова домой», она должна закрываться. –

ответ

0

По щелчку удалить «в» всех классов или которые один делает открыто ваше меню. что-то вроде этого:

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

Не используйте высоту в jquery для выполнения этой работы, лучше использовать классы.

Смежные вопросы