Twitter Bootstrap:多个响应式可折叠导航?

时间:2013-02-14 03:44:38

标签: twitter-bootstrap navigation responsive-design

我正在使用Twitter Bootstrap。我希望有两个(或更多)导航,当在移动设备上查看时,会折叠成下拉列表。

这可以在页面上轻松完成一次,但我无法弄清楚如何进行多次响应/可折叠导航。

此代码可用于创建一个在移动设备上折叠的导航:

<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">groups</a>

<div class="nav-collapse">
  <ul class="nav">
    <li><a href="#">Nav Link</a></li>
    <li><a href="#">Nav Link</a></li>
    <li><a href="#">Nav Link</a></li>
    <li><a href="#">Nav Link</a></li>
  </ul>
</div>

但我怎样才能制作第二个导航?

我尝试复制此代码并将data-target=".nav-collapse"更改为data-target=".nav-collapse2",但这不起作用。

Twitter Bootstrap能否在页面上提供2个或更多响应式导航?

2 个答案:

答案 0 :(得分:10)

你走在正确的轨道上。

引导程序在内部使用

.nav-collapse来实际使响应导航崩溃。不要将.nav-collapse2用作data-target,而是使用您自己的类/ ID(除了使用.nav-collapse

以下是一个例子:

<a class="btn btn-navbar" data-toggle="collapse" data-target=".col1">groups</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".col2">groups2</a>

<div class="nav-collapse col1">
    <ul class="nav">
        <li><a href="#">Nav Link</a></li>
        <li><a href="#">Nav Link</a></li>
    </ul>
</div>
<div class="nav-collapse col2">
    <ul class="nav">
        <li><a href="#">Nav Link2</a></li>
        <li><a href="#">Nav Link2</a></li>
   </ul>
</div>

这是fiddle

答案 1 :(得分:0)

我开始和@ gurch101说的一样,然后用它来隐藏另一个菜单。

// Only show one navigation at a time
jQuery(function($){
  $('.col1').on('show.bs.collapse', function(){
    var otherNav = $('.col2');
    if (otherNav.is(':visible')) {
      otherNav.collapse('hide');
    }
  });
  $('.col2').on('show.bs.collapse', function(){
    var otherNav = $('.col1');
    if (otherNav.is(':visible')) {
      otherNav.collapse('hide');
    }
  });
});