JQuery动画文本颜色

时间:2011-10-27 16:07:19

标签: jquery css jquery-ui

如何使用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秒钟之前重新触发事件,我需要放弃动画再次启动它。

1 个答案:

答案 0 :(得分:5)

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

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

来自JQueryUI网站:

  

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

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

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