【发布时间】:2014-09-19 12:54:17
【问题描述】:
当页面的某个部分处于活动状态时,是否可以将类添加到 li 元素内的链接?
我有一个单页网站,并且希望在通过滚动到达页面的特定部分时更改链接的颜色。
这是我的 HTML:
<header id="header">
<section class="container">
<nav>
<a class="logo" href="index.html">Logo</a>
<div id="menu">
<ul id="links">
<li><a href="#services">Services</a></li>
<li><a href="#about">About</a></li>
<li><a href="#clients">Clients</a></li>
<li class="last"><a href="#contact">Contact</a></li>
</ul>
</div>
</nav>
</section>
</header>
这是 CSS:
#menu li a {
color:#7a7a7a;
text-decoration: none;
font-size: 12px;
margin-right:20px;
}
#menu li.last a {
color:#7a7a7a;
text-decoration: none;
font-size: 12px;
margin-right:0px;
}
#menu li.current a {
color: #0086be;
}
我想做的是在到达页面的特定部分时将 .current 类添加到 li 元素内的链接。
我相信这只能通过 Javascript 实现,谁能指出实现这一目标的正确途径?
提前致谢
【问题讨论】:
-
你的意思是当mouseOver时悬停它?
-
你可以使用简单的 jquery 来实现。参考jsfiddle.net/ggNrr
-
Css 无法添加或删除元素的属性/类。
-
目前还不清楚您到底要做什么。您想响应页面上的滚动位置,还是鼠标位置?
-
基本上我只是想在到达页面位置时更改链接的颜色。例如;我正在滚动页面,当我通过不同的部分(ID 为#services、#about、#clients、#contact)时,导航栏上的链接颜色会发生变化。
标签: javascript html css class add