我是 twitter bootstrap 的新手 . 在那里使用 navigation menus . 我正在尝试将活动类设置为所选菜单 . 我的菜单是 -
<div class="nav-collapse">
<ul class="nav">
<li id="home" class="active"><a href="~/Home/Index">Home</a></li>
<li><a href="#">Project</a></li>
<li><a href="#">Customer</a></li>
<li><a href="#">Staff</a></li>
<li id="broker"><a href="~/Home/Broker">Broker</a></li>
<li><a href="#">Sale</a></li>
</ul>
</div>
谷歌搜索后我试着跟踪东西,我必须从菜单中设置每个页面上的活动类,如as--
<script>
$(document).ready(function () {
$('#home').addClass('active');
});
</script>
但上面的问题是我设置了默认选择的主菜单 . 然后它总是被选中 . Is there any other way to do this ? , or which i can generalize and keep my js in layout file itself?
执行应用程序后我的菜单看起来 -
点击其他菜单项后我得到以下结果 -
我在索引视图和Broker视图中添加了以下脚本---
<script>
$(document).ready(function () {
$('#home').addClass('active');
});
</script>
<script>
$(document).ready(function () {
$('#broker').addClass('active');
});
</script>
分别 .
12 回答
这是一种解决方法 . 尝试
并在每个页面js添加
您可以使用此
JavaScript\jQuery
代码:它会将
<a>
的父级<li>
和<li>
的父级<ul>
设置为活动状态 .有效的简单解决方案!
原始来源:
Bootstrap add active class to li
我有同样的问题...通过将下面显示的代码添加到我的“functions.js”文件的“$(document).ready”部分来解决它,该文件包含在每个页脚中 . 这很简单 . 它获取显示页面的完整当前URL,并将其与完整的锚点href URL进行比较 . 如果它们相同,则将anchor(li)parent设置为活动状态 . 并且仅当锚点href值不是“#”时才这样做,然后引导程序将解决它 .
您可以在每个页面的BODY标记上添加不同的类,例如在主页上你可以这样:
然后这个css:
资产净值元素:
#
或者,您可以在每个页面上的BODY上放置一个类,然后通过jQuery获取该类,并根据该标记将.active类添加到正确的导航项 .
然后为每个页面添加以下内容:
//家
//项目页面
//客户页面
//员工页面
例:
看一下这个 .
对于单页网站,菜单项只是跳到页面的其他部分,这个简单的解决方案适合我:
对于单页网站,以下是我使用的 . 它不仅根据点击的内容设置活动元素,还会在初始页面加载时检查URL位置内的哈希值 .
我正在使用Flask Bootstrap . 我的解决方案有点简单,因为我的模板已经从Flask接收选项或选项作为参数 .
第一行,js代码获取元素 . 因此,您应该使用id标识每个元素 . 我将在下面展示一个例子 . 第二行,您将该类添加为活动状态 . 你可以在下面看到html ID .
我刚刚在名为
target-active
的ul部分添加了一个自定义类为每个页面添加简单的一行jquery代码以获得所需的结果
1 st链接页面
2和链接页面
3 rd链接页面
4链接页面