jquery的
<script>
$(document).ready(function(){
$("button").click(function(){
$("h2").animate({backgroundColor: '#00f', width: '50%', marginLeft: '50px'});
});
});
</script>
HTML
<h2>This is a heading</h2>
<p style="background: #ff0">This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
我正在学习jquery,发现在我的测试margin-left
中使用css作为marginLeft
到marginLeft
这样,但是backgroundColor
无法正常工作。我是在这里还是我错了?
答案 0 :(得分:3)
要为背景颜色设置动画,您需要添加一个支持jquery UI
或jquery color
的插件。
答案 1 :(得分:0)
似乎你没有包括jqueryUi.js
您需要将其包括在内(包括jquery.js
后)
<script src='http://code.jquery.com/ui/1.10.3/jquery-ui.js'></script>
jQuery UI捆绑了提供颜色的jQuery Color插件 动画以及许多用于处理颜色的实用函数。
答案 2 :(得分:0)
答案 3 :(得分:0)
基于this answer:
,在没有jQueryUI的情况下为颜色设置动画的可能解决方法function toRGB(hexStr) {
var s = hexStr.substring(1);
if (s.length==3) {
s = s.charAt(0) + s.charAt(0) + s.charAt(1) + s.charAt(1) + s.charAt(2) + s.charAt(2);
}
var i = parseInt(s, 16);
var rcolor = (i & 0xff0000) >> 16;
var gcolor = (i & 0x00ff00) >> 8;
var bcolor = i & 0x0000ff;
return { r:rcolor, g:gcolor, b:bcolor };
}
$('button').click(function(){
var elem = $('div');
var c1 = toRGB('#ffffff'), c2 = toRGB('#0000ff');
$(c1).animate(c2, {
duration:2000,
step: function(){
elem.css('backgroundColor', 'rgb('+parseInt(this.r)+','+parseInt(this.g)+','+parseInt(this.b)+')');
}
});
});