【发布时间】:2014-04-24 04:18:11
【问题描述】:
我想突出显示活动(打开的)链接。此颜色必须在链接打开时始终保持。不仅在鼠标单击或悬停时。
这是我尝试过的 JS 方式:
<script type="text/javascript">
$(document).ready(function(){
$("a.nav1").click(function () {
$(".active").removeClass("active");
$(this).addClass("active");
});
});
</script>
html 链接:
<div id="navigation">
<ul>
<li><a class="nav1" data-tab="#home" id="link-home"href="#home">Home</a></li>
<li><a class="nav1" data-tab="#football" id="link-football" href="#football">Football</a></li>
<li><a class="nav1" data-tab="#hockey" id="link-hockey"href="#hockey">Hockey</a
</li>
</ul>
</div>
它可以工作,但问题在于刷新和返回按钮。它不会将此颜色更改为上一个链接。 使用其他 JS 方式我遇到了同样的问题。
只有使用 css 才行不通。例如:
<div id="navigation">
<ul>
<li><a class="nav1" data-tab="#home" id="link-home"href="#home">Home</a></li>
<li><a class="nav1" data-tab="#football" id="link-football" href="#football">Football</a></li>
<li><a class="nav1" data-tab="#hockey" id="link-hockey"href="#hockey">Hockey</a
</li>
</ul>
</div>
和 CSS
#home .nav1 {
color: #000;
background-image:url(farba3.png);
}
#football .nav1 {
color: #000;
background-image:url(farba3.png);
}
#hockey .nav1 {
color: #000;
background-image:url(farba3.png);
}
【问题讨论】:
-
为什么不使用
a:visited伪?据我所知,即使在页面刷新后它仍然存在。 -
@Homungus:这对 OP 有什么帮助?
-
@LéoLam:我以为他想突出显示访问/打开的链接,不是吗?这就是样式伪
a:visited所做的。 -
a:visited最终会突出显示所有链接,如果用户单击(这意味着访问)所有链接。 -
不,这不是我想要的。 a:visited 更改颜色访问的链接,但我想更改颜色打开的链接(特定颜色必须在链接打开时保持)
标签: javascript jquery html css highlight