0

Рабочего примера: http://executionists.com (вида в окне проекции мобильной, чтобы увидеть проблему)UI-Bootstrap Collapse не сбрасывается на новом маршруте

Я использую директиву сворачивания от UI Bootstrap и он прекрасно работает, чтобы переключить мое меню вкл выкл. Однако, когда я нажимаю элемент меню, я направляюсь к новому представлению (что и должно делать), но тогда меню остается открытым. Он на самом деле мигает в течение секунды, поскольку он, кажется, рушится, но затем возвращается назад и не рушится до тех пор, пока он не будет выполнен вручную.

HTML:

<button type="button" class="btn btn-default" ng-click="isCollapsed = !isCollapsed"> 
    <i class="fa fa-bars fa-4"></i> 
</button> 

<div class="container mobile-menu visible-xs collapse" collapse="isCollapsed"> 
    <a ng-href="#/about">About</a> 
</div> 

В соответствующем контроллере, я просто установить состояние по умолчанию:

$scope.isCollapsed = true; 

Что мне не хватает?

+1

добавив ** $ (». COL-1'). Нажмите (функция() {$ (this) .toggle();}); ** функция jquery должна работать, я думаю! –

+0

Хм, это, кажется, ничего не делает. –

+0

Я вижу, что вы используете Angular для рендеринга вашей страницы, проблема в том, что страница снова отображается, ее пребывание на той же странице –

ответ

1

Попробуйте добавить что-то вроде этого, если я понимаю, что это хочу вам нужно

$("div.container.mobile-menu.visible-xs.collapse div.row div.col-1 ul a").click(function() { 
      if (window.location.hash) { 
       $('.mobile-menu').height(0); //change the menu to be 'Hidden' 
      } 
    }); 

UPDATE

$("div.container.mobile-menu.visible-xs.collapse div.row div.col-1 ul a").click(function() { 
    $('.mobile-menu').toggle(function() { 
     if (window.location.hash) { 
      $('button.btn.btn-default').click(); 
     } 
    }); 
}); 
+0

Я обновил свой ответ, сделать короче –

+0

Это сработало! Спасибо! Однако это порождает одну небольшую причуду. После того, как вы выбрали пункт меню, меню исчезает, однако теперь требуется два щелчка, чтобы открыть меню снова. Есть идея? –

+0

Будет легко сделать рабочую скрипку, попробуйте сделать это, потому что я должен посмотреть весь ваш код, сделать простой скрипт, что вам нужно, и я помогу вам –

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