JQuery动画文本颜色

Cyb*_*ell 2 css jquery 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();
Run Code Online (Sandbox Code Playgroud)

但它仍然没有按照我需要的方式工作.在动画结束之前,我无法重新触发初始颜色更改.如果在3秒之前重新触发事件,我需要放弃动画再次启动它.

Nic*_*ong 5

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

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

从JQueryUI站点:

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

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

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