【发布时间】:2015-12-05 13:24:04
【问题描述】:
我正在使用 ruby on rails 和 bootstrap 来开发我的第一个网站。我网站中的导航栏是使用引导程序实现的。但是,在mobile 上打开导航栏后,它不会关闭。如果您单击或点击右上角的“菜单”按钮,导航栏将打开,但如果您再次或在外部点击该按钮,则导航栏不会关闭并继续闪烁。
与移动设备上的相同代码相关的另一个问题是,下拉菜单根本无法打开。我认为这与菜单的悬停功能有关,但我似乎无法修复它。
这是我的代码。
HTML:
<nav class="navbar navbar-default navbar-fixed-top" role="navigation" id="navbar_id" data-toggle="collapse" data-target=".navbar-collapse"> <!-- START OF NAVIGATION BAR -->
<div class="container"><!-- START OF CONTAINER -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<%= link_to image_tag("logo.png", class: "img-responsive"), root_path, class:"name" %>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav" id="navbar_menus">
<li><%= link_to "Item1", sample_path%></li>
<li><%= link_to "Item2", sample_path%></li>
<li><%= link_to "Item3", sample_path %></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Programs<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><%= link_to "Item1", sample_path%></li>
<li><%= link_to "Item2", sample_path%></li>
<li><%= link_to "Item3", sample_path%></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><%= link_to "Item1", sample_path%></li>
</ul>
</li>
<li><%= link_to "Contact Us", sample_path %></li>
</ul>
</div><!-- END OF CONTAINER -->
</nav><!-- END OF NAVIGATION BAR -->
CSS:
#navbar_menus{
padding: 3.6em 0 0 1em;
}
@media (min-width: 979px) {
ul.nav li.dropdown:hover > ul.dropdown-menu {
display: block;
}
}
【问题讨论】:
-
您是否将 bootstrap.js 作为脚本源添加到您的文件中? jQuery 也需要它,否则任何引导“动画”元素都不起作用。在这里,您会在 [Bootstrap 官方文档] (getbootstrap.com/getting-started) 中找到它的解释
-
我使用 CDN 链接到引导文件。
-
抱歉……我有点跑题了……什么是 CDN?
-
@VirtuaCreative bootstrapcdn.com
-
嗯好吧..我不熟悉这个定制版本,但我相信你会需要 JavaScript 源代码(由你发给我的链接给出),如果还不够,你可能会需要 jQuery 的脚本源,在 CDN 脚本之前,因为原始引导 JS 需要它。
标签: html css ruby-on-rails twitter-bootstrap mobile