jQuery backgroundColor动画

时间:2009-01-08 17:12:22

标签: jquery animation

我有一个带有链接和SPAN的DIV。

单击该链接时,它会使用AJAX呈现项目列表。单击某个项目时,SPAN的内容将更改。

我希望通过将DIV的背景颜色设置为绿色,并使用jQuery将其设置为白色来突出显示此更改。

  var originalColor = elementToUpdate.parentNode.style.backgroundColor;
  elementToUpdate.style.backgroundColor = 'green'; //lastSender.style.color;
  jQuery(elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000);

SPAN的背景在第2行变为绿色,但第3行没有做任何事情。没有错误,或者改变了什么......

有什么想法吗?


修改:正如Ted Naleid在下面的评论中指出的那样:

  

另请注意,您必须拥有   安装了彩色动画插件   这个工作   (http://plugins.jquery.com/project/color),   如果你没有安装它,jQuery   不能动画颜色,只能数字   属性(至少从1.3.1开始)。

1 个答案:

答案 0 :(得分:9)

如果您已经拥有该元素,则不需要.id。直接把它交给jQuery:

jQuery(elementToUpdate).animate({ backgroundColor: '#ffffff' }, 1000);

您没有收到错误,因为elementToUpdate.id是一个字符串,jQuery(可能)将其解释为选择器。它恰好是一个不选择任何东西的选择器。

或者,您可以这样说,使其成为有效的选择器:

jQuery('#' + elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000);

但我认为第一种形式更可取,因为你已经拥有了元素。