如何在每次点击时更改元素的背景颜色

时间:2015-08-26 13:39:29

标签: javascript jquery

我有一个元素,我想立即改变背景颜色(例如:蓝色),然后立即返回白色(#FFF)。我不想在这里切换。

('form').on('click', 'div', function(e) {
     e.preventDefault();
     $(this).addClass("blue-bkground").animate({backgroundColor:'#FFF'}, 300).removeClass("blue-bkground"); 
}

以上代码可以使用一次,即我可以看到效果一次,但在后续点击中不再有效。

1 个答案:

答案 0 :(得分:2)

您需要在动画完成后删除类,因此请将其置于动画的完整功能中。

$('form').on('click', 'div', function (e) {            
            $(this).addClass("blue-bkground").animate({ backgroundColor: '#FFF' }, 300, function () { $(this).removeClass("blue-bkground"); });            
        });
.blue-bkground
{
	background-color:blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form>
    <div>Click here</div>
</form>