我的母版页中有以下标签式导航设置。
<nav class="grid_12">
<ul>
<li><a href="#" class="selected">Home</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
例如,当我单击“投资组合”选项卡时,我希望投资组合选项卡在投资组合页面时保持突出显示。 推荐的方法是什么?
我已经检查过其他一些帖子,但the most relevant中的帖子使用示例中的div而不是单独的页面。
答案 0 :(得分:3)
假设您选择的“已选择”类名称具有您正在谈论的突出显示的样式。用户单击其中一个链接后,使用jquery可以将“selected”类添加到单击的锚标记中。将它放在页面底部,就在关闭正文标记之前或主JavaScript文件中。
<script type="text/javascript">
$(document).ready(function () {
$(".grid_12 ul li a").click(function() {
$(".grid_12 ul li a ").removeClass("selected");
$(this).addClass("selected")
})
})
</script>
上面的代码只有在没有页面刷新和内容刷新的情况下才有效,但是如果您的页面会刷新并转到新页面,我会这样做:
<nav class="grid_12">
<ul>
<li><a href="#" class="nav_home">Home</a></li>
<li><a href="#" class="nav_portfolio">Portfolio</a></li>
<li><a href="#" class="nav_blog">Blog</a></li>
<li><a href="#" class="nav_contact">Contact</a></li>
</ul>
</nav>
并为特定页面添加样式。例如,当你在www.mySite.com/portfolio上的css for portfolio only时,只需添加:
a.nav_portfolio{
background-color:orage;
...
}
这样你甚至不需要做任何javascript。