2011-09-26 86 views
4

我無法找到解決此問題的簡單方法。jQuery - 文字顏色淡入

我想在一些文本顏色變化褪色時,有從一個按鈕點擊一個錯誤。

if (document.getElementById("username").value == ""){ //First Name  
    $("#login_error").text("Please enetr a username!").css('color', '#FF0000');  
    $("#username_label").css('color', '#FF0000');fadeIn(3000); 
} 

我可以讓顏色改變,但它是即時的。我想讓顏色的變化慢慢淡入。

謝謝!

+0

可能重複:http://stackoverflow.com/questions/6320578/can-i-fade-in-a-color-with-jquery – JMax

+0

是;第3行中.css()和fadeIn()之間的一個錯字?如果不是,將其改爲'.css()。fadeIn()' – dnagirl

+0

是的,它是一個錯字。 –

回答

8

如果添加jQuery UI的,他們增加了對色彩的動畫支持。

閱讀http://jqueryui.com/demos/animate/瞭解詳情。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 

    <script> 
    $(document).ready(function(){ 
    $(".block").toggle(function() { 
     $(this).animate({ color: "#FF0000" }, 1000); 
    },function() { 
     $(this).animate({ color: "#000000" }, 1000); 
    }); 
    }); 
    </script> 

更新:的jQuery現在提供了一個color plugin只啓用此功能,而不包括整個jQuery的UI庫。

+1

不錯,不知道..但小插件仍然比僅包含整個jQuery UI僅用於此小任務更好。 –

+1

您可以在jQuery UI頁面上構建自定義下載,僅包含UI Core和Effects核心 –

+0

乾杯。 $(this).animate({color:「#FF0000」},1000);做這份工作! –

0
當然的.css通話

是即時的,而淡入只是鏈接(CSS開始改變後)

嘗試使用animate

0

您可以動畫使用jQuery .animate功能CSS屬性,即

$(this).animate({ height: 250 }); 

,但你不能動畫色彩,對不起。爲此,您需要使用插件,詳情請參見this answer

此外,如果你正在使用jQuery UI的,那麼它是可能的:

注:jQuery UI的項目,允許一些非數字的風格,如要設置動畫的色彩延伸到.animate()方法。該項目還包括通過CSS類指定動畫而不是單獨屬性的機制。

(從http://api.jquery.com/animate/

你有樣品here