2012-09-15 91 views
1

我想简单地为按键设置动画背景。我无法使用它:jquery keydown animate背景颜色

$('input#userInput').live('keydown', function() { 
    $(this).animate({backgroundColor:'#4E1402'}, 300).delay(800).animate({backgroundColor: '#555'}, 100); 
}); 

请让我知道我要去哪里错了。谢谢!

+0

好的,我看到每个人都在说关于jQuery UI ...我们只是使用颜色,例如...是代码正确的,然后颜色?我不明白! http://jsfiddle.net/6k6uK/ – webwrks

+0

我在我的答案中包含了一个jsFiddle,它使用了jQuery.color()插件的确切代码。 – Josh

回答

2

那是因为你没有can't animate background-color插件

所有动画属性应该动画到一个数值, 除了下面提到;大多数非数字属性不能使用基本jQuery功能动画 (例如,宽度,高度, 或左边可以是动画,但背景色不能是,除非使用 jQuery.Color()插件) 。除非另有说明,否则属性值视为 像素数。在适用的情况下,单位em和%可以是 。

jsFiddle with the plugin

+0

对不起,没有看到这个工作...即使当我删除哟! – webwrks

+0

@webwrks - Appologies ...添加插件后忘了点击更新按钮。应该现在工作。我更新了链接。 – Josh

+0

谢谢!我喜欢哟!触摸,但也想知道。我想知道这是否是jQuery将使用户界面变得可能的事情。再次感谢。 – webwrks

1

尝试这样

$('#userInput').keydown(function(){ 
    $(this).css("backgroundColor",'#4E1402'); 
$(this).delay(2000).queue(function(){ 
    $(this).css("backgroundColor",'#555');}); 
}); 
+0

没有,没有这样做... – webwrks

+1

@ Gautam3164 - 他的语法没有错...... jQuery根本不支持使用核心库动画背景颜色。 – Josh

+0

查看edit.it的作品 – Gautam3164

1

尝试color插件,它补充说: “做彩色动画jQuery 1.2版本,和新的能力。”

此外,jQuery UI已包含彩色动画支持。