$ .Fade背景色到当前设置的颜色

时间:2012-05-14 12:55:56

标签: jquery animation colors

我正在尝试在使用$ .ajax插入表中的表条目上创建脉动效果。

表行具有奇数/偶数类,使表看起来像斑马(奇数行具有较浅的背景)。

当添加一个新的表行时,它将附加到表中,所以我只是检查最后一行(table tr:last)是否有一个“奇数”类。如果确实如此,那么我将“even”类添加到新添加的行中,否则我将“odd”类添加到其中。

无论如何,如何让新行从红色渐变为奇数/偶数类适用的背景颜色。

我尝试过:

new_row.addClass(odd_or_even_class); // here the class is decided
var currentColor = new_row.css('background-color'); 
new_row.css('background-color', '#FF99CC')
       .animate({backgroundColor: currentColor}, 1000);

但是出于某些奇怪的原因,它会逐渐变白......

我认为它与“currentColor”变量的值有关,它看起来像rgba(...)而不是十六进制值。也许$ .animate只接受十六进制值?

2 个答案:

答案 0 :(得分:2)

默认情况下,动画中不支持RGBA。

以下是另一种解决方案:http://pioupioum.fr/sandbox/jquery-color/

答案 1 :(得分:1)

来自jQuery animate文档:

  

所有动画属性都应设置为单个数值,   除非如下所述;大多数非数字属性不能   使用基本jQuery功能进行动画处理(例如,宽度,高度,   或左边可以动画,但背景颜色不能,除非   使用jQuery.Color()插件)。属性值被视为a   除非另有说明,否则为像素数。单位em和%可以   适用时指定。   http://api.jquery.com/animate/

所以Johan的答案是正确的,你需要使用像jQuery Color plugin这样的其他东西。我本来只是将其作为对他答案的评论添加,但我认为我还没有代表。