0

脚本:

$(".classname li a").each(function() {
    var hreflink = $(this).attr("href");
    if (hreflink == location.href) {
        $(this).addClass("active");
    } else {
        $(this).removeClass("active");
    }
});

CSS:

.classname li a.active{color:#ef9223;}

每当我刷新页面时,如果相同的链接位于不同的页面上,则活动类不再应用于该链接。

实际示例我有以下导航链接 ABCDEFGH .... Z. 并且相同的导航在主页(标题部分)中.. 所以当我点击任何一个链接时.. 当我到达时它需要处于活动状态任何一个 ABCD E..或 Z 页。即使在页面刷新时,它也需要保留活动链接。希望能解释......并有所帮助:)

任何帮助、投入、解决方案将不胜感激。

4

2 回答 2

1

类或您使用 JavaScript 添加的任何内容在页面刷新时不会持续存在。这就是它的工作原理。

JavaScript 只是修改本地加载的 HTML 元素和结构。刷新页面或转到另一个页面后,所有这些状态都会被传入的页面加载清除。服务器不知道您在该页面上所做的任何事情。它将发送一个具有默认状态的新页面,然后运行任何 JavaScript。该脚本也不知道任何先前的页面加载或脚本执行。

如果您希望状态在页面加载时保持不变,您需要在服务器端执行此操作,这涉及对服务器进行 AJAX 调用以使其知道您想要“激活”哪些链接,然后服务器将负责在后续页面加载时添加该类。

于 2012-04-11T18:07:45.457 回答
1

在每个循环内部,实际上是锚标记,而不是具有类“类名”的标记。你的CSS应该是:

.active {color:#ef9223;}

此外,如果此代码在页面加载时运行,则不需要删除类。

看看这个 jsFiddle 的例子 - http://jsfiddle.net/XWLWL/7/

于 2012-04-11T18:18:48.863 回答