我试图为div的背景颜色设置动画,但它只是不改变它:
HTML
<div id="list2" onclick="changeCol();">
color
</div>
CSS
#list2{ width:200px; height:100px; border:1px solid #ccc; background-color:#ccc}
的JQuery / JS
function changeCol(){
alert('foo'); // testing function called
$("#list2").animate({
backgroundColor: "#8bed7e"
}, 500).animate({
backgroundColor: "#ccc"
}, 500);
}
任何想法为什么? Here's a fiddle
答案 0 :(得分:4)
使用CSS3(仅适用于支持CSS3的CSS3,不支持的浏览器会改变颜色但不动画):
HTML:
<div id="list2">color</div>
的CSS:
#list2{background:red;transition:0.5s ease;-moz-transition:0.5s ease;-webkit-transition:0.5s ease;}
#list2.clicked{background:blue;}
JS:
$(function(){
$('#list2').click(function(){
$(this).toggleClass('clicked')
})
});
这里的工作示例:http://jsfiddle.net/18v8ofwn/1/
请注意,您可以使用jQuery UI
库而不是CSS3(请参阅 mour 答案),而无需对代码进行任何更改(跨浏览器解决方案)。
答案 1 :(得分:0)
检查
http://jsfiddle.net/qggyec4t/16/
$(document).ready(function () {
$("#list2").click(function () {
alert('hii');
$("#list2").animate({
backgroundColor: 'red',
});
});
});
答案 2 :(得分:0)
您必须在代码中使用jquery-ui.js和jquery-ui.css。它会完美地运作。
更新了JSFiddle
function changeCol(){
$("#list2").animate({
backgroundColor: "#8bed7e"
}, 500).animate({
backgroundColor: "#ccc"
}, 500);
}
答案 3 :(得分:0)
除非如下所述,否则应将所有动画属性设置为单个数值。大多数非数字属性无法使用基本jQuery功能进行动画处理(例如,宽度,高度或左边可以设置动画,但背景颜色不能,除非使用jQuery.Color插件)。除非另有说明,否则属性值被视为多个像素。可以在适用的情况下指定单位em和%。
function changeCol() {
$("#list2").animate({
backgroundColor: "red"
}, 500).animate({
backgroundColor: "green"
}, 500);
}
#list2 {
width: 200px;
height: 50px;
border: 1px solid #ccc;
background-color: #ccc;
text-align: center;
vertical-align: center;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<script src="https://code.jquery.com/color/jquery.color.plus-names-2.1.2.js"></script>
<div id="list2" onclick="changeCol()">
color
</div>
答案 4 :(得分:-1)
之前我遇到过这个问题。 JQuery无法为背景颜色制作动画,你需要一个插件才能做到这一点。
这是一个做到这一点:
答案 5 :(得分:-1)
https://github.com/jquery/jquery-color/
您还可以使用CSS3为背景设置动画,效果非常好(请参阅:Transition of background-color)
答案 6 :(得分:-1)
你有彩色插件吗?没有它,您无法为背景颜色制作动画。 你可以在这里找到一个: https://github.com/jquery/jquery-color