当前位置: 首页 > 面试题库 >

添加基于URL的活动导航类

曹旭东
2023-03-14
问题内容

我正在尝试在页面加载后根据其所在的页面将一个active类(即class="active")添加到适当的菜单列表项。下面是我现在的菜单。我已经尝试了在这方面可以找到的所有代码片段,但是没有任何效果。因此,有人可以简单解释一下在何处以及如何在JavaScript中添加以定义此任务吗?

<ul id="nav">
    <li id="navhome"><a href="home.aspx">Home</a></li>
    <li id="navmanage"><a href="manageIS.aspx">Manage</a></li>
    <li id="navdocso"><a href="docs.aspx">Documents</a></li>
    <li id="navadmin"><a href="admin.aspx">Admin Panel</a></li>
    <li id="navpast"><a href="past.aspx">View Past</a></li>
</ul>

这是我在网站管理员中将head标签放入的javascript的示例。我究竟做错了什么?

$(document).ready(function () {
    $(function () {
        $('li a').click(function (e) {
            e.preventDefault();
            $('a').removeClass('active');
            $(this).addClass('active');
        });
    });
});

问题答案:

这不起作用的原因是因为javascript正在执行,然后页面正在重新加载,这使“活动”类无效。您可能想做的是:

$(function(){
    var current = location.pathname;
    $('#nav li a').each(function(){
        var $this = $(this);
        // if the current path is like this link, make it active
        if($this.attr('href').indexOf(current) !== -1){
            $this.addClass('active');
        }
    })
})

在某些情况下,这是行不通的(多个类似指向的链接),但是我认为这可能对您有用。



 类似资料:
  • 我正在为导航构建一个基本活动,并希望有一些灵活的活动,这样活动就可以向基本活动指定要膨胀的布局。 有没有更好的方法实现这一点?也许用一个内容框架设置一个基本布局,然后膨胀到那个? 如有任何建议,将不胜感激。

  • 有谁能帮我..我想根据我的URL在我的菜单上添加一个活动类 这是密码 可能的URL 所以,我需要的是当URL是http://www.whatever.com/?tag=automotive,big-data时,我想再添加一个类,比如active。 示例: HTML:

  • 我想将导航抽屉图标添加到此导航抽屉活动。现在我已经编辑了代码,但仍然现在错误应用程序在启动时停止

  • 我是android新手。我想实现一个由项目列表组成的导航抽屉,单击它会打开一个新活动。基本上是所有活动的导航抽屉。当我从导航抽屉中选择一个项目时,特定的活动就会打开。导航抽屉代码是通过执行空活动来实现的。我想在所有活动中实现导航抽屉功能,这些活动被视为空活动,这些活动已经有了一些功能,导航抽屉功能也可以工作。请帮帮我。 这是activity_header档案 这是我的主要活动 这是头活动java代

  • 问题内容: 在Bootstrap网站上,子导航与部分匹配,并在您更改背景颜色或滚动到该部分。我想创建自己的菜单,但不包含所有背景色和所有内容,但是,我将CSS更改为相似,但是当我向下滚动或单击菜单项时,活动类不会切换。不知道我在做什么错。 HTML: CSS: 我检查了文件;jQuery,bootstrap.js和bootstrap.css均已正确链接。我是否必须添加一些其他的jQuery还是缺少

  • 如果菜单项url==当前url,我有以下代码可以将活动css类添加到菜单项: 但这会将该类添加到所有菜单项中。有什么提示吗?