使用jquery更改鼠标上的css3图标颜色

时间:2014-04-14 16:21:53

标签: javascript jquery html css css3

我用css创建了这个ok css3图标。 http://jsfiddle.net/5c9gN/

JS:

$('.ok').mouseenter(function(){
    $(this).parent().find('.ok:after, .ok:before').css('background','#ccc');
    $(this).css('background','#33CC33');
});
$('.ok').mouseleave(function(){
    $(this).parent().find('.ok:after, .ok:before').css('background','#ccc');
    $(this).css('background','#ccc');
});

CSS:

.ok{height:40px; width:40px; display:block; position:relative; margin-left: auto; margin-right: auto;} 

.ok:after, .ok:before{content:''; height:32px; width:10px; display:block; background:   #ccc; position:absolute; top:6px; left:18px; transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg);}

.ok:before{height:16px; transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg); top:18px; left:6px;}

在尝试更改图标的颜色时,我遇到了一些问题。它总是改变背景颜色而不是图标。 谁能帮助我? 感谢

2 个答案:

答案 0 :(得分:5)

仅使用CSS:

DEMO

.ok:hover:after, .ok:hover:before {
    background: #33CC33;
}

答案 1 :(得分:0)

添加此css

.ok.mouseover:after, .ok.mouseover:before{
     background:    #33CC33;
}

并将您的JS代码更新为此

$('.ok').mouseenter(function(){
    $(this).addClass('mouseover');
});
$('.ok').mouseleave(function(){
    $(this).removeClass('mouseover');
});