2012-02-14 69 views
0

我想讓我的UL LI的背景顏色變成黃色,然後回到白色。我使用下面的代碼,但它不工作。動畫爲淡黃色,然後回到白色? jquery

$('#items ul li.test').animate({ 'background-color' : '#FFFEBC' }, 3000, function(){ 
    $('#items ul li.test').animate({ 'background-color' : '#ffffff' }, 3000); 
}); 

我已經包含了jQuery庫,當然這個代碼是由另一個函數觸發的。該函數有效,但不是動畫。

.testul li類。

有沒有問題的代碼?

+0

-1:研究不足,它告訴你這個方法手冊第二段出了什麼問題。 – Quentin 2012-02-14 09:36:24

回答

0

jQuery本身不支持動畫顏色;請參閱animate docs

jQuery UI adds the ability爲其設置動畫顏色。如果你不用它來做其他事情,那它就是一把大錘子。 :-)

有幾個插件可以添加彩色動畫,如this one;如果您進行搜索,您應該找到幾個可供選擇的選項。

0

documentation

所有動畫處理的屬性應該被動畫化以單一數值,除了下面指出的;大多數非數字屬性不能使用基本的jQuery功能進行動畫(例如,寬度,高度或左側可以是動畫,但背景色不能是,除非使用jQuery.Color()插件)。除非另有說明,否則屬性值視爲像素數。可以指定單位em和%。

所以使用它告訴你使用的插件。

+0

oH,這就是爲什麼!感謝您的建議。 – sm21guy 2012-02-14 09:36:17

-1

試試這個代碼

$( '#項目UL li.test')動畫({ '的backgroundColor': '#FFFEBC'},3000,函數(){ $('#項目UL李.test')。animate({'backgroundColor':'#ffffff'},3000); });

我沒有測試過它,但它可能工作。

+0

不,它不會工作。 – Quentin 2012-02-14 09:39:21

0

使用jQuery UI和突出顯示方法來達到這種效果。

一旦你擁有jQuery用戶界面,

簡單,如果你從jQuery UI下載建設者要

0

那麼使用高光效果

$('#items ul li.test').effect('highlight'); 

您可以下載突出顯示效果,它在代碼中似乎沒有任何錯誤..但是您可能已經爲ID(#items)設置了CSS類;這可能會覆蓋你的背景顏色。

爲了您的幫助,我剛剛從HTML中刪除ID和類,它工作正常!見下文...

HTML

<ul> 
    <li>123</li> 
    <li>456</li> 
</ul> 

jQuery代碼(我已經使用(文件)。就緒() - 在你的情況,你正在處理事件

$(document).ready(function(){ 
     $('ul li').animate({ 'background-color' : '#FFFEBC' }, 500, 
     function(){ $('ul li').animate({ 'background-color' : '#CCCCCC' }, 500, 
     function(){ $('ul li').animate({ 'background-color' : '#ffffff' }, 500); 
     }); 
    });} 
); 

希望這有助於。 !

相關問題