2012-10-14 214 views
0

我想讓一些文字的背景顏色在懸停時淡入/淡出。由於文本位於圖像的頂部,因此我希望背景顏色從透明度淡入然後回到透明。動畫背景顏色來自/透明

這是我到目前爲止有:

$('#nav li.menu').hover(
    function() { 
     $(this).animate({backgroundColor: "#FFEF00"},300); 

    }, 
    function() { 
     $("li.menu").animate({backgroundColor: "Transparent"},300);   
    } 
); 

然而,當我運行此代碼,動畫變成背景色爲白色纔開始製作動畫。有誰知道我該如何解決這個問題?

謝謝, MJ

+0

您是否包含[jQuery UI](http://jqueryui.com/animate/)? – Giona

+0

如果在回答中使用了http://jsfiddle.net/,將不勝感激。我仍然在學習JavaScript,所以一個工作演示會非常有幫助! – M2J

+0

是的,我已經包含了jQuery UI – M2J

回答

0

「透明」 本身並沒有多大的意義。顏色由紅色,綠色,藍色和阿爾法定義。由於頁面的默認背景顏色是白色,因此「透明」實際上被翻譯爲「帶有alpha 0的白色」是有意義的。

嘗試使用rgba()表示法來強制特定的「透明」顏色。

$("li.menu").animate({backgroundColor:"rgba(0xff,0xef,0,0)"}); 
0

你確實不能通過jquery輕鬆地改變背景顏色,就像afshin說的那樣。然而,還有另一種方式! 將文本放在div中,併爲div分配與背景相同的顏色。 (或任何它應該是什麼顏色)

然後,在您的css中創建另一個類或id,並使用jquery更改懸停上的類/ id。 (.getElement命令,如果您需要知道)

祝您好運。