2013-08-16 95 views
1

我想弄清楚如何最好地在Bootstrap 3 RC2中获得以下布局。Bootstrap 3 RC2导航栏与多个崩溃

其中左侧项目是主要导航UL和侧面图标是额外的UL或只是一组共享相同外观的链接,但为其内容提供了下拉或隐藏/显示切换该团体,但希望为其他人做互动式搜索和购物车展示)。

目前,这起很好,当我这样做代码:

<div class="nav-wrapper" style="height: 56px;"> 
     <div class="nav-primary affix-top"> 
      <nav class="navbar" 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=".navbar-primary-collapse"> 
          <span class="sr-only">Primary navigation</span> 
          <i class="icon-list"></i> 
         </button> 

         <button type="button" class="navbar-toggle pull-right" data-toggle="collapse" data-target=".navbar-cart-collapse"> 
          <span class="sr-only">Itinerary navigation</span> 
          <span class="icon-calendar-empty"></span> 
         </button> 

         <button type="button" class="navbar-toggle pull-right" data-toggle="collapse" data-target=".navbar-user-collapse"> 
          <span class="sr-only">User navigation</span> 
          <span class="icon-user"></span> 
         </button> 

         <button type="button" class="navbar-toggle pull-right" data-toggle="collapse" data-target=".navbar-search-collapse"> 
          <span class="sr-only">Search navigation</span> 
          <span class="icon-search"></span> 
         </button> 
        </div> 

        <div class="row"> 
         <!-- Collect the nav links, forms, and other content for toggling --> 
         <div class="col-lg-8 col-sm-8 navbar-collapse navbar-primary-collapse in" style="height: auto;"> 

      <ul id="navPrimary" class="nav navbar-nav"> 

     <li class="first" id="navRegions"><a href="/regions/">Regions</a></li> 

     <li id="navWineries"><a href="/wineries/">Wineries</a></li> 

     <li id="navExplore"><a href="/explore/">Explore</a></li> 

     <li class="last" id="navEvents"><a href="/events/">Events</a></li> 
     </ul> 
         </div><!-- /.navbar-primary-collapse --> 

         <!-- Collect the nav links, forms, and other content for toggling --> 
         <div class="col-lg-4 col-sm-4 pull-right collapse navbar-collapse"> 
          <ul class="nav navbar-nav navbar-right"> 
           <li> 
            <a href="#"><i class="icon-search"></i></a> 
            <div id="prime-nav-searchform" class="dropdown-menu"> <form method="get" action="http://antonibotev.com/themes/nova/" class="search-form"> 
              <i class="icon-search searchform-icon"></i> 
              <input class="bluebox-search-input" type="text" name="s" value="Search..." onfocus="" onblur="" autocomplete="off" data-view-all-title="Show All Results" data-original-title=""> 
              <input type="submit" class="submit" value="" onfocus="" onblur=""> 
              <div class="search-form-autocomplete active"> 
               <div class="search-results-autocomplete"> 

               </div> 
              </div> 
             </form> 
            </div> 
           </li> 
           <li class="dropdown"><a href="#" class="dropdown-toggle"><i class="icon-user"></i> <b class="caret"></b></a> 
            <ul class="dropdown-menu"> 
             <li><a href="#">Log In</a></li> 
             <li><a href="#">Sign Up</a></li> 
             <li><a href="#">How It Works</a></li> 
             <li><a href="#">Need Help?</a></li> 
            </ul> 
           </li> 
           <li class="dropdown"> 
            <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-calendar-empty"></i> <span>4</span></a> 
            <ul class="dropdown-menu"> 
             <li><a href="#">View Itinerary</a></li> 
             <li><a href="#">Check Out</a></li> 
             <li><a href="#">Need Help?</a></li> 
            </ul> 
           </li> 
          </ul> 
         </div><!-- /.navbar-collapse --> 
        </div> 



       </div> 
      </nav> 
     </div> 
    </div> 

而且这工作正常的初始崩溃,但我需要更多的人,但现在他们需要住在同UL,这显然与创建其他3个折叠divs有关。

我甚至有代码来切换崩溃,如果你说点击搜索或购物车。它只会告诉你一次一个:打开一个闭等

// mobile toggles - make sure when one navbar-collapse is open, that the others are closed 
$('.navbar-collapse').on('show.bs.collapse', function (e) { 
    // hide open menus 
    $('.navbar-collapse').each(function(){ 
     if ($(this).hasClass('in')) { 
      $(this).collapse('toggle'); 
     } 
    }); 
}); 

小和xs断点应该表现出相同的布局,但当然有一个图标替换主导航。想法是,你有4个图标,只需点击或点击切换各自的菜单,这些菜单是否包含一个列表或只是一个搜索表单。

有什么建议吗?

+0

我喜欢你的想法它看起来很有希望!你能指定你的问题是什么吗?什么是工作,什么不是。我不指望你的导航检查会起作用。首先'shown.bs.collapse'将被触发而不是'show.bs.collapse'。其次,只需点击折叠元素即可触发。你需要一个'$('window')。resize()'这里。 –

+0

谢谢!所以这里是主要问题: 我该如何处理图标? 目前,他们正在使用UL来显示,但我不希望他们在每个开放下拉菜单中显示这些链接的主要链接,作为移动级别。所以也许我只是使用JQuery来隐藏锚点,但似乎应该有更好的方法。 我并不热衷于在右边的UL按钮和链接。有没有更好的方法来实现这一点? –

+0

至于JS,它似乎在切换按钮时工作正常。显示将仅在完全显示之后应用,而Show会在另一个点击时立即隐藏另一个。至于调整大小,它使用了navbar-collapse,所以它只发生在小断点处,所以不需要调整大小,据我所知。 –

回答

0

我觉得这个NAVBAR我非常接近你要找的东西。我以前发布过这个答案,但它适用于你的问题。

这个例子展示了如何使用任何种类的'vanilla bootstrap'NAVBAR配置。它包含网站标题,左侧或右侧对齐的折叠和非折叠菜单项以及静态文本。该示例还有一个带有图标的下拉菜单。

请务必阅读注释以更全面地了解您可以更改的内容。请享用!

小提琴:http://jsfiddle.net/nomis/n9KtL/1/

<nav role="navigation" class="navbar navbar-default navbar-fixed-top"> 
    <div class="container"> 

    <!-- Title --> 
    <div class="navbar-header pull-left"> 
     <a href="/" class="navbar-brand">GNOMIS</a> 
    </div> 

    <!-- 'Sticky' (non-collapsing) right-side menu item(s) --> 
    <div class="navbar-header pull-right"> 
     <ul class="nav pull-left"> 
     <!-- This works well for static text, like a username --> 
     <li class="navbar-text pull-left">User Name</li> 
     <!-- Add any additional bootstrap header items. This is a drop-down from an icon --> 
     <li class="dropdown pull-right"> 
      <a href="#" data-toggle="dropdown" style="color:#777; margin-top: 5px;" class="dropdown-toggle"><span class="glyphicon glyphicon-user"></span><b class="caret"></b></a> 
      <ul class="dropdown-menu"> 
      <li> 
       <a href="https://stackoverflow.com/users/id" title="Profile">Profile</a> 
      </li> 
      <li> 
       <a href="/logout" title="Logout">Logout </a> 
      </li> 
      </ul> 
     </li> 
     </ul> 

     <!-- Required bootstrap placeholder for the collapsed menu --> 
     <button type="button" data-toggle="collapse" data-target=".navbar-collapse" class="navbar-toggle"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button> 
    </div> 

    <!-- The Collapsing items   navbar-left or navbar-right --> 
    <div class="collapse navbar-collapse navbar-left"> 
     <!--      pull-right keeps the drop-down in line --> 
     <ul class="nav navbar-nav pull-right"> 
     <li><a href="/news">News</a></li> 
     <li><a href="/Shop">Shop</a></li> 
     </ul> 
    </div> 

    <!-- Additional navbar items --> 
    <div class="collapse navbar-collapse navbar-right"> 
     <!--      pull-right keeps the drop-down in line --> 
     <ul class="nav navbar-nav pull-right"> 
     <li><a href="/locator">Locator</a></li> 
     <li><a href="/extras">Extras</a></li> 
     </ul> 
    </div> 
    </div> 
</nav>