2012-05-14 271 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。我只是將其添加爲對他的回答的評論,但我不認爲我有代表。