我在我的bootstrap 3导航栏中使用的项目很少,如下所示:
<nav class="navbar navbar-inverse navbar-fixed-top" id="toggleNav" role="navigation">
<!-- 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-ex1-collapse">
<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 name</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav navbar-right">
<li>
<a href="javascript:logout();"><span class="glyphicon glyphicon-log-out"></span> Logout</a>
</li>
<li>
<a href="#" id="online-offline" toggle="offline"><span class="glyphicon glyphicon-off"></span> Go offline</a>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</nav>
当我点击第二项('离线')时,我使用jquery来调用模态窗口。在移动设备上我必须首先折叠菜单才能到达链接,然后当我点击该项目时,我会正确地获得模态窗口。
我需要实现的是在显示模态之前隐藏导航栏折叠。是否有可能以编程方式切换导航栏崩溃?我怎么能这样做?
答案 0 :(得分:13)
正如你所说,该事件将运行一个模态。
因此,当您的模态(称为yourModal)显示(显示之前)时,只需隐藏菜单:
JS:
$('.yourModal').on('show.bs.modal', function(){
$('.navbar-collapse').collapse('hide');
});
以下是文档:
答案 1 :(得分:8)
在@Jahnux73的一点帮助之后,我自己想出来了。所以我唯一要做的就是添加:
data-toggle="collapse" data-target=".navbar-ex1-collapse"
到我要切换导航栏的特定链接。所以链接现在看起来如下:
<a href="#" id="online-offline" data-toggle="collapse"
data-target=".navbar-ex1-collapse" toggle="offline">
<span class="glyphicon glyphicon-off"></span> Go offline
</a>
答案 2 :(得分:0)
添加自定义类以切换导航栏(我切换),因此切换具有真值的变量:
<a href="javascript:;" class="dropdown-toggle me-toggle" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">
<i class="icon-envelope-open"></i>
<span class="badge badge-default"> 4 </span>
</a>
<ul class="dropdown-menu ">
<li class="external">
<h3>You have<span class="bold">7 New</span> Messages</h3>
<a href="app_inbox.html">view all</a>
</li>
<li>
item 1
</li>
<li>
item 2
</li>
</ul>
然后在点击导航栏中事件:
toggle: true;
$('a.me-toggle').click(() => {
toggle = !toggle;
});
$('.dropdown').on({
"click": function(event) {
},
"hide.bs.dropdown": function(event) {
return toggle;
}
});
答案 3 :(得分:0)
只需使用:
''
答案 4 :(得分:0)
首先,在按钮标签中添加一个ID。
<button id="idToggleButton" type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
比为您的合拢div添加一个ID
<div id="divCollapse" class="collapse navbar-collapse navbar-ex1-collapse">
最后,当divCollapse可见时,您可以通过编程方式单击
if ($('#divCollapse').is(":visible")){
$('#idToggleButton').click();
}
或者什么时候不可见
if (!$('#divCollapse').is(":visible")){
$('#idToggleButton').click();
}