2011-10-27 97 views
2

如何使用jQuery/jQuery UI爲文本顏色設置動畫效果。該文本目前是#000。當事件觸發時,我希望文字顏色變爲#F00,然後在3秒內退回到#000。JQuery動畫文本顏色

我試着用高亮顯示effect("highlight", {}, 3000),但它沒有重新觸發效果,直到完成,然後繼續執行觸發的時間......對此沒有任何用處。

任何想法?

Ç

UPDATE:

這是我現在有:

$("input:text[name=size_w]").keyup(function() { 
      var value = ($("input:text[name=size_w]").val() == "") ? "null" : $("input:text[name=size_w]").val(); 
      $("#width_emb").text(value).css({ color: "red" }).animate({ color: "black" }, 3000); 
     }).keyup(); 

但它仍然沒有工作,我需要的方式。在動畫完成之前,我無法重新觸發初始顏色變化。如果在3秒鐘之前重新觸發事件,我需要放棄動畫並重新開始。

+0

發佈您目前使用的代碼,而不是期望some1爲您編寫代碼。 – Andrej

+0

@Andrej已經有效果(「突出顯示」,{},3000)'只是要求某個方向。如果您不在這裏提供幫助,請隨時不要發表評論。 – Cybercampbell

+0

我在發表評論2分鐘後編輯了答案....當我評論時,您不清楚您嘗試了什麼。 – Andrej

回答

5

你需要jQueryUI的它增加了對彩色動畫

http://jqueryui.com/demos/animate/

從jQueryUI的現場支持:

jQuery的UI效果的核心擴展了動畫功能,能夠進行動畫的色彩以及。它>大量使用類別轉換功能,它是能夠彩色動畫以下屬性:

  • 的backgroundColor
  • borderBottomColor
  • borderLeftColor
  • borderRightColor
  • borderTopColor
  • 顏色
  • outlineColor

在回答如果你是半路通過動畫,你希望它停止或重新啓動,如果你再次點擊就可以調用.stop() http://api.jquery.com/stop/ 也可以用它來清除更新的問題,任何排隊動畫。

+0

看起來很完美..謝謝! – Cybercampbell

+0

我有同樣的問題..我不能重新觸發初始顏色變化,直到動畫完成。如果在3秒鐘之前重新觸發事件,我需要放棄動畫,因爲開始是再次。 剛剛更新了我的代碼。有任何想法嗎? – Cybercampbell

+0

你能澄清一下你想要的行爲嗎?如果在轉換過程中再次單擊,您希望發生什麼? –