我第一次使用Twitter Bootstrap。除了我的顶级导航需要调整之外,一切似乎都正常工作。
我们有一个菜单按钮,用于打开主导航下拉列表。然后我们有一个搜索按钮,用于打开搜索表单下拉列表。
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar menubutton" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="menu">Menu</span>
</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-search"><img src="images/search_03.png">Search</a>
<div class="nav-collapse collapse">
<ul class="nav">
<li><a href="#">About Us</a></li>
<li><a href="#">Research & Innovation</a></li>
<li><a href="#">Our Products</a></li>
<li><a href="#">Responsibility</a></li>
<li class="subnav"><a href="#" >Careers</a></li>
<li class="subnav"><a href="#" >Newsroom</a></li>
<li class="subnav"><a href="#" >Contact Us</a></li>
<li class="navfoot">This is a mobile version of our website<br/>
<a href="#">View full site</a></li>
</ul>
</div><!--/.nav-collapse -->
<div class="nav-search collapse">
<div class="search_box">
<form action="" method="post">
<input type="text" value="Enter Search"><a href="#">Search</a>
</form>
</div><!-- end search_box -->
</div><!--/.nav-search -->
</div>
</div>
</div>
我在这里创建了一个jsfiddle:http://jsfiddle.net/vsF6m/3/
客户只想一次打开一个下拉菜单。现在,功能是每个按钮都会自动切换,但不会关闭其他打开的下拉列表。
必须有一些我缺少的东西。我是否需要重建导航栏的组装方式?
谢谢!
答案 0 :(得分:3)
在这里查看一个有效的jsfiddle: http://jsfiddle.net/gNUEx/
$('.container a').click(function(){
var $target = $($(this).data('target'));
if(!$target.hasClass('in'))
$('.container .in').removeClass('in').height(0);
});
答案 1 :(得分:2)
这里有更多关于Bootstrap如何使用Collapse插件实现手风琴功能的内容。我的第一个倾向是建议只为你的目的使用手风琴标记,但遗憾的是,用于设置手风琴功能的一些标记(即类.accordion-group
)具有与之相关的视觉风格,所以它可能是更容易使用针对您所需要的代码的淡化版本。
以下是相关摘录:
$('.navbar').on('show', function () {
var actives = $(this).find('.collapse.in')
, hasData
if (actives && actives.length) {
hasData = actives.data('collapse')
if (hasData && hasData.transitioning) return
actives.collapse('hide')
hasData || actives.data('collapse', null)
}
})
这将关闭在委派的父级中找到的任何其他打开的collapse
元素,在本例中为.navbar
。在实践中,我建议使用ID而不是类来选择委托的父级。