更改文本链接颜色javascript或css

时间:2013-10-31 12:58:19

标签: javascript css hyperlink colors

我的网站上有一个菜单,当我将鼠标悬停在菜单上的项目上并点击时,我正在使用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/

4 个答案:

答案 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执行类似的操作:

http://jsfiddle.net/fG5Uy/2/

使用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 }