突出显示css菜单栏中当前选定的链接

时间:2012-04-29 17:59:40

标签: javascript html css django menu

我有一个包含此网址的网页: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框架。

5 个答案:

答案 0 :(得分:4)

试试这个jQuery代码,它会自动添加类

$(function(){

    var url = window.location.href; 

    $("#menu a").each(function() {

        if(url == (this.href)) { 
            $(this).closest("li").addClass("active");
        }
    });

});

答案 1 :(得分:2)

在你的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>

答案 2 :(得分:0)

将您的身份#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>

答案 3 :(得分:0)

.menu_div ul li#active

它表示活动链接需要一个活动ID。我看不到身份证,因此它不是蓝色的。

如果您希望链接处于活动状态,则必须将项目设置为活动状态,浏览器不会为您执行此操作。

答案 4 :(得分:0)

只需

<强> 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>