2014-06-21 8 views
5

Sto tentando di creare un menu nel bootstrap 3. Quando si arriva alle dimensioni del cellulare, ho due pulsanti di attivazione/disattivazione della compressione. Come impostazione predefinita, quando uno è aperto, viene semplicemente impilato uno sopra l'altro. Quello che mi piacerebbe è una discesa aperta alla volta.Menu Bootstrap 3: due pulsanti di compressione: solo uno aperto alla volta

<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> 

Ho cercato e trovato questo, ma che è per bootstrap 2: Bootstrap Menu - Two Collapse buttons which toggle each other? Meaning, only 1 open at a time

Mi sento come se mi manca qualcosa di facile. Di seguito è riportato un link jsfiddle: http://jsfiddle.net/Bootstrap714/RfsS9/4/

risposta

7

avete il nome dell'evento sbagliato. È necessario chiamarlo su on('show.bs.collapse'... anziché solo su on('show'....

Here is a fixed fiddle

+0

Grazie mille! Non posso credere di aver perso qualcosa di così facile. – bootstrap714

+0

Nessun problema, è un errore facile da fare - Il nome dell'evento era ''show'' in bootstrap v2, lo hanno cambiato per la v3. – Andrew

0

trovato un tipo di soluzione "hacker"

se, il pulsante sibilings, non ha una classe compresso, fate clic su di esso.

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

http://jsfiddle.net/t96Ry/

Problemi correlati