2014-06-21 1 views
5

부트 스트랩 3에서 메뉴를 만들려고합니다. 모바일 크기로 내려 가면 두 번의 축소 토글 버튼이 있습니다. 기본적으로 하나가 열리면 서로 겹쳐 쌓입니다. 내가 원하는 것은 한 번에 하나의 드롭 다운입니다. 부트 스트랩 3 메뉴 - 두 개의 접기 버튼 - 한 번에 하나씩 만 엽니 다.

<nav class="navbar navbar-default navbar-fixed-top" role="navigation"> 
    <div class="container"> 
    <!-- Brand and toggle get grouped for better mobile display --> 
    <div class="navbar-header"> 

<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-search"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 

     <a class="navbar-brand" href="#">Brand</a> 
    </div> 

    <!-- Collect the nav links, forms, and other content for toggling --> 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
     <ul class="nav navbar-nav"> 
     <li class="active"><a href="#">Link</a></li> 
     <li><a href="#">Link</a></li> 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> 
      <ul class="dropdown-menu"> 
      <li><a href="#">Action</a></li> 
      <li><a href="#">Another action</a></li> 
      <li><a href="#">Something else here</a></li> 
      <li class="divider"></li> 
      <li><a href="#">Separated link</a></li> 
      <li class="divider"></li> 
      <li><a href="#">One more separated link</a></li> 
      </ul> 
     </li> 
     </ul> 
     <form class="navbar-form navbar-left" role="search"> 
     <div class="form-group"> 
      <input type="text" class="form-control" placeholder="Search"> 
     </div> 
     <button type="submit" class="btn btn-default">Submit</button> 
     </form> 
     <ul class="nav navbar-nav navbar-right"> 
     <li><a href="#">Link</a></li> 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> 
      <ul class="dropdown-menu"> 
      <li><a href="#">Action</a></li> 
      <li><a href="#">Another action</a></li> 
      <li><a href="#">Something else here</a></li> 
      <li class="divider"></li> 
      <li><a href="#">Separated link</a></li> 
      </ul> 
     </li> 
     </ul> 
    </div><!-- /.navbar-collapse --> 
    <div id="test2" class="nav-search collapse"> 
      <div class="search_box"> 
      <ul class="nav navbar-nav"> 
       <li><a href="#">message 1</a></li> 
       <li><a href="#">message 1</a></li> 
       <li><a href="#">message 1</a></li> 
       <li><a href="#">message 1</a></li> 
      </ul> 
      </div><!-- end search_box --> 
     </div><!--/.nav-search --> 
    </div><!-- /.container-fluid --> 
</nav> 

나는 검색이, 을 발견하지만 부트 스트랩 2입니다 : 나는 쉽게 뭔가를 놓친 거지 같은 느낌 Bootstrap Menu - Two Collapse buttons which toggle each other? Meaning, only 1 open at a time

. 다음은 jsfiddle 링크는 다음과 같습니다 http://jsfiddle.net/Bootstrap714/RfsS9/4/

답변

7

당신은 잘못 이벤트의 이름을 가지고있다. on('show'... 대신에 on('show.bs.collapse'...으로 전화해야합니다.

Here is a fixed fiddle

+0

정말 고마워요! 나는 그렇게 쉽게 놓친다는 것을 믿을 수 없다. – bootstrap714

+0

걱정할 필요는 없습니다. 이벤트 이름은 부트 스트랩 v2에서''show''이었고, v3에서 변경되었습니다. – Andrew

0

"hackish"솔루션

경우, sibilings 버튼의 종류, 축소 된 클래스가 그것을 클릭하지 않습니다 발견.

$('.navbar-toggle').on('click', function() { 
    if(!$(this).siblings('.navbar-toggle').hasClass('collapsed')) { 
     $(this).siblings('.navbar-toggle').click(); 
     } 
}); 

http://jsfiddle.net/t96Ry/

관련 문제