如何使用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秒钟之前重新触发事件,我需要放弃动画再次启动它。
答案 0 :(得分:5)
你需要JqueryUI它增加了对色彩动画的支持
http://jqueryui.com/demos/animate/
来自JQueryUI网站:
jQuery UI效果核心扩展了animate功能,以便能够为颜色设置动画。它过多地被类转换功能使用,并且能够为以下属性设置颜色动画:
- 的backgroundColor
- borderBottomColor
- borderLeftColor
- borderRightColor
- borderTopColor
- 颜色
- outlineColor
如果您正处于动画的中途并希望停止或重新启动,如果再次单击,则可以调用.stop()来响应更新的问题 http://api.jquery.com/stop/ 您也可以使用它来清除任何排队的动画。