JQuery动画文本颜色

如何使用jQuery / jQuery UI为文本颜色设置动画。 该文本目前为#000。 当一个事件被触发时,我想要文本颜色#F00然后在3秒内淡出回#000。

我尝试使用effect("highlight", {}, 3000) ,但是在完成之前它不会重新触发效果,然后在触发它的时间内继续执行它…对此没有用。

有任何想法吗?

C

更新:

这就是我现在拥有的:

 $("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秒之前重新触发事件,我需要放弃动画再次启动它。

你需要JqueryUI它增加了对颜色动画的支持

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

从JQueryUI站点:

jQuery UI效果核心扩展了animate函数,以便能够为颜色设置动画。 它被类转换function大量使用,并且能够为以下属性设置颜色动画:

  • 背景颜色
  • borderBottomColor
  • borderLeftColor
  • borderRightColor
  • borderTopColor
  • 颜色
  • outlineColor

响应更新的问题,如果您正在动画的中途,并且如果再次单击则希望停止或重新启动,则可以调用.stop() http://api.jquery.com/stop/您也可以使用此清除任何排队的动画。