我的网站上有一个菜单,当我将鼠标悬停在菜单上的项目上并点击时,我正在使用CSS。
这是我的菜单:
<div id="stickyheader">
<a href="#disco">discography</a><span class="grey"> - </span>
<a href="#bio">biography</a><span class="grey"> - </span>
<a href="#press">press</a><span class="grey"> - </span>
<a href="#studio">studio</a><span class="grey"> - </span>
<a href="#contacts">contacts</a>
</div>
和我的CSS链接:
a:link, a:visited, a:hover, a:focus, a:active {
color: #dcdedd;
text-decoration: none;
transition: 0.3s ease;
text-decoration: none;
-webkit-transition:color 0.5s ease-in;
-moz-transition:color 0.5s ease-in;
-o-transition:color 0.5s ease-in;
transition:color 0.5s ease-in;
}
a:hover{
color: red
}
我想知道在点击我的菜单中的一个项目时是否有使用css或javascript的方法,将所选项目的文本颜色更改为红色,并保持红色直到选择我的另一个项目菜单。
这种情况只发生在我的#stickyheader div中,而不是发生在网站的其他部分......
示例:当我点击“传记”时,传记变成红色,过渡(0.5s缓入),“传记”保持红色,直到我点击另一个项目,当我点击“唱片” ,唱片变成红色,传记回归光线......
我无法找到解决方案......
也许是JS?
这是一个JSfiddle:http://jsfiddle.net/B5dYv/2/
答案 0 :(得分:2)
这是一个jquery解决方案:
$('#wrapper').on('click', 'a', function(){
$(this).addClass('selected').siblings().removeClass('selected');
});
相关的css:
.selected
{
color: red !important;
}
<强> Updated Fiddle 强>
答案 1 :(得分:1)
你可以用javascript:
来做到这一点$(document).ready(function() {
$('#stickyheader a').on('click', function() {
$(".active").removeClass("active");
$(this).addClass("active");
});
});
我更新了你的jsfiddle:http://jsfiddle.net/B5dYv/5/
答案 2 :(得分:0)
您可以使用jQuery执行类似的操作:
使用Javascript:
$(document).ready(function(){
$("#stickyheader a").click(function(){
$("#stickyheader a").each(function(i, e){
$(this).removeClass("selected");
});
$(this).addClass("selected");
});
});
CSS:
#stickyheader a.selected
{
color : blue;
}
答案 3 :(得分:0)
也许你可以尝试这样的事情http://jsfiddle.net/JWkZn/
$('#wrapper a').click(function(){
$('#wrapper a').removeClass('active');
$(this).addClass('active');
});
a.active { color: red }