【发布时间】:2012-02-06 01:02:33
【问题描述】:
我正在制作一个固定菜单的单页网站,因此当用户单击链接时,它会向下滚动到页面的该部分。用户所在部分的菜单链接应该有不同的颜色。为此,我有“当前”类。我正在尝试使用 jQuery addClass() 和 removeClass() 进行此更改,但没有运气。我到目前为止的代码如下。
$(document).ready ( function(){
$(".about").click(function(){
$(".home").removeClass("current");
$(".about").addClass("current");
});
});
编辑:
菜单 HTML:
<nav id="nav_list">
<ul>
<li class="home current"><a href="#">Home</a></li>
<li class="about"><a href="#about">About</a></li>
<li class="portfolio"><a href="#portfolio">Portfolio</a></li>
<li class="testimonials"><a href="#testimonials">Testimonials</a></li>
<li class="contact"><a href="#contact">Contact</a></li>
</ul>
</nav>
div HTML:
<div id="about" class="page">
<p>Lorem ipsum dolor sit</p>
</div>
(每个菜单链接都有一个 div。)
EDIT2
css:
#nav_list .current a{
color: #D4D1FA;
}
我注意到,如果我删除 #nav_list,我从一开始就看不到颜色的变化。
【问题讨论】:
-
它在这里工作。jsfiddle.net/ylokesh/Vx3up
-
那为什么在我使用它的地方不起作用...
-
您有我们可以查看的实时链接吗?也许你可以添加一些 CSS - 这可能是一个问题,而不是没有添加类。当您自己添加类时,它是否按预期工作?
-
抱歉,我没有该页面的实时版本。
-
这与 CSS 无关。您说过如果您以
about current开始页面,那么about链接将获得current中设置的颜色。所以问题出在你的 JQuery 上,而不是你给我们的 JQuery 上——你的代码在其他地方一定有错误。