jQuery动画颜色变化

时间:2011-08-06 13:41:42

标签: javascript jquery jquery-plugins animation

我正在尝试将链接颜色从当前颜色更改为其他颜色。

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

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

2 个答案:

答案 0 :(得分:13)

你需要将一个十六进制三元组包装在一个字符串中,改变它:

color: #ffffff

到此:

color: "#ffffff"

答案 1 :(得分:5)

基本问题可能是你不知道jQuery的/ JavaScript的符号, 写#ffffff会得到 SyntaxError ,因为 SharpSign + Letters 在JS中没有任何意义。
快速解决方案:您必须将六边形颜色作为字符串传递: color: "#ffffff"

jQuery支持.css()&的传递对象的几种不同表示法。 .animate()方法,
让我指导你。

属性名称/密钥

(border,width,...)可以用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

中描述

小心

(旧版)Internet Explorers中的一些错误(请参阅.css().animate()方法的文档)

我没有展示所有字符串传递的可能性的示例,例如:

  

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

JSON对象的有效值多于数字和字符串 - boolean,array,object,null ...