2011-10-27 98 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

你能澄清一下你想要的行为吗?如果在转换过程中再次单击,您希望发生什么? –