2012-05-14 67 views
0

我试图在使用$ .ajax插入到表中的表项上创建脉动效果。

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

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

无论如何,我怎么能让新的行从红色褪色到奇数/偶数类应用到它的任何背景颜色。

我试着用:

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只接受十六进制值?

+0

可能你的“currentColor”var缺少一些东西。也许逃避锋利?或稍后再添加它? .animate之前currentColor打印什么? – Th0rndike

+0

是的,我也认为这是因为'currentColor'返回一个RGB值而不是十六进制,也许这可以帮助你:http://stackoverflow.com/questions/1740700/get-hex-value-rather-than-rgb-值使用jquery – billyonecan

+0

伙计们,不要忘记,信息是不一样的任何具体表示形式。 “rgb(0,0,255)”和“#0000FF”对计算机来说意思相同。这只是人类可读性的不同符号。 – juanpaco

回答

1

从jQuery动画文件:

所有动画处理的属性应该被动画化以单一数值, 除了下面提到;大多数非数字属性不能使用基本的jQuery功能动画 (例如,宽度,高度, 或左边可以是动画但背景颜色不能是,除非使用 jQuery.Color()插件) 。除非另有说明,否则属性值视为 像素数。在适用的情况下,单位em和%可以是 。

所以约翰的回答是正确的,你需要使用别的东西像jQuery Color plugin。我只是将其添加为对他的回答的评论,但我不认为我有代表。