2011-08-06 341 views
10

我试图将从当前颜色到其他颜色的链接颜色变化动画化。jQuery动画颜色变化

$(window).load(function(){ 
    $('.article-preview h1 a').hover(function(){ 
     $(this).animate({ 
      color: #ffffff 
     }, 1500); 
    }); 
}); 

由于某种原因,它不起作用。我正在使用jQuery color plugin

回答

13

你需要用十六进制三重字符串中的,改变这种:

color: #ffffff 

这样:

color: "#ffffff" 
+0

我知道这将是愚蠢的东西这样。该死的天气炎热。谢谢!顺便说一句,颜色名称是否必须用引号括起来? – wowpatrick

+2

@wowpatrick,如果你不把颜色名称包含在引号中,解释器会认为它们是变量名称。这可能不是你想要的。 –

+0

np。是的,你也必须包装颜色名称。 – Baversjo

4

的基本问题是可能是你不知道的jQuery的/ JavaScript的符号,
写作#ffffff会给你语法错误,因为SharpSign +字母不代表JS中的任何东西。
快速解决方案:你要通过六色为字符串:color: "#ffffff"

jQuery的支持通过对象的几个不同的符号为.css() & .animate()方法,
让我的GUID您通过他们。

属性名称/键

(边框,宽度,...)可以写成3种方式:

backgroundColor //DOM formatting 
'backgroundColor' //DOM formatting BUT - passed as a STRING 
'background-color' //CSS formatting - passed as a STRING 

属性值/值

(#FFFFFF ,0px,none,...)可以用3种方式写入

0   // 'pure' number - Integer (useful when pre-calculating pixels) 
20.5  //    - Float 
'0'  // number BUT passed as STRING - Integer 
'20.5' //        - Float 
'0px'  // string 
'#ffffff' // - || - 
'auto' // - || - 

你可以rougly说,除了像素的一切,串总是通过
=>在引号(单'或双"),这意味着或当然你可以传递一个字符串变量

所以对于初学者来说最安全的方法可能是始终对两个键都使用引号符号 - 键值为& &值。

...

总体

JSON - JavaScript Object Notation

所有这一切都

这一切实际上是用部分在jQuery's .css() method documentation

描述在

一些错误当心(以上)互联网探索者(见文档的.css().animate()方法)

我二叔D不显示示例的所有字符串传递的可能性,例如:

在jQuery 1.6,的CSS()接受类似于 .animate相对值()。相对值是以+ =或 - =开始的字符串,以 递增或递减当前值。例如,如果一个元素的填充左边为10px,则.css(“padding-left”,“+ = 15”)会导致 总共填充25px。

JSON对象具有数字和字符串更有效的值 - 布尔,数组,对象,空...