突出显示 CSS 菜单栏中当前选定的链接
highlight currently selected link in css menu bar
我有一个包含此URL的页面:http://localhost:8000/progress/c/?l=1&c=1
而下面的内容作为一个简单的css菜单栏工作。
<div class="menu_div">
<ul>
<li><a href="/progress/c/?l=1&c=1"> l1c1 </a></li>
<li><a href="/progress/c/?l=2&c=1"> l1c1 </a></li>
<li><a href="/progress/c/?l=3&c=1"> l1c1 </a></li>
<li><a href="/progress/c/?l=4&c=1"> l1c1 </a></li>
</ul>
</div>
CSS 样式是
.menu_div ul
{
padding:6px;
margin:0px;
font-size:12px;
list-style:none;
text-indent:15px;
}
.menu_div ul li
{
line-height:28px;
border-bottom:1px solid #000;
}
.menu_div ul li a
{
text-decoration:none;
font-color:#3A332D;
display:block;
}
.menu_div ul li a:hover
{
background:blue;
}
.menu_div ul li#active
{
background:blue;
}
当我将鼠标悬停在链接上时,背景颜色会发生变化,但当前选择的菜单链接不会以蓝色突出显示。
我正在使用 django 框架。
试试这个jQuery代码,它会自动添加类
$(function(){
var url = window.location.href;
$("#menu a").each(function() {
if(url == (this.href)) {
$(this).closest("li").addClass("active");
}
});
});
在你的CSS中,你有一个ID为'active'的类,这可能应该是这样的类:
.menu_div ul li.active
{
background:blue;
}
此外,我不建议尝试使用javascript客户端匹配"活动"或更好表述的"当前"页面。
相反,服务器上的脚本应该识别当前页面并将类添加到相关菜单项,使其如下所示:
<li class="active"><a href="/progress/c/?l=1&c=1"> l1c1 </a></li>
> 将您的 id #active
替换为类 .active
- 这是更正确的方法:
.menu_div ul li.active
{
background:blue;
}
并将此类添加到列表中的活动元素中:
<div class="menu_div">
<ul>
<li class="active"><a href="/progress/c/?l=1&c=1"> l1c1 </a></li>
<li><a href="/progress/c/?l=2&c=1"> l1c1 </a></li>
<li><a href="/progress/c/?l=3&c=1"> l1c1 </a></li>
<li><a href="/progress/c/?l=4&c=1"> l1c1 </a></li>
</ul>
</div>
.menu_div ul li#active
它说活动链接需要活动 id 为活动。我没有看到id,因此为什么它不是蓝色的。
如果您希望链接处于活动状态,则必须将项目设置为活动状态,浏览器不会为您执行此操作。
只是
.css
.menu_div ul li.active{background:blue}
.html
<div class="menu_div">
<ul>
<li id="page1"><a href="/progress/c/?l=1&c=1"> l1c1 </a></li>
<li id="page2"><a href="/progress/c/?l=2&c=1"> l1c1 </a></li>
<li id="page3"><a href="/progress/c/?l=3&c=1"> l1c1 </a></li>
<li id="page4"><a href="/progress/c/?l=4&c=1"> l1c1 </a></li>
</ul>
</div>
脚本
#In every page just put this script and change the id
<script>$("#page1").addClass('active');</script>
相关文章:
- 如果显示当前图像,则禁用链接
- 如何利用多链接延迟检查并显示ping结果,然后使用JavaScript选择最快的URL
- 显示可链接的搜索结果+对齐方式
- 根据链接显示 iframe 内容
- 如何使用Javascript对链接+显示消息进行编码
- 如何从 Web 窗体中的超链接显示 asp.net mvc 视图 asp.net
- Struts2 显示标签动态链接显示相同的行值
- 如何强制超链接显示“打开/保存”对话框,而不是在浏览器中打开它
- Fancybox链接显示另一个Fancybox
- 根据单击的超链接显示/隐藏表单
- 使用Javascript滚动到一个类,一旦它已经通过点击链接显示
- 根据图像地图链接显示不同的内容
- 使用链接显示和隐藏内容
- Html/Javascript -如何使一个Html链接显示一个url,并有它实际上被重定向到一个Javascript函
- 如何通过单击php中的链接显示消息
- 将JqGrid列模式显示为日期,超链接显示NAN/NAN/NAN
- 尝试获取正确的GET链接,该链接显示购物车中的良好信息
- 如何改变文本链接显示大,当鼠标在它上面
- 回复链接-显示/隐藏回复框
- 推特引导-通过点击链接显示模式