Javascript 更改循环中div元素交叉淡入的背景色

Javascript 更改循环中div元素交叉淡入的背景色,javascript,css,background-color,fade,Javascript,Css,Background Color,Fade,我想通过crossfade将div元素的背景色从黑色改为红色再改为蓝色,但现在我不知道该怎么做。我试着用图像来做,但把一张图像作为背景,通过淡入淡出效果来改变,这会使它变得沉重。有没有办法通过CSS或Javascript来实现这一点?请帮助。CSS: .fadechange{ 高度:200px; 宽度:100%; 背景:黑色; 动画:无限; -webkit动画:无限; } @关键帧衰减{ 0%{背景:黑色;} 33%{背景:红色;} 66%{背景:蓝色;} 100%{背景:黑色;} } @-we

我想通过crossfade将div元素的背景色从黑色改为红色再改为蓝色,但现在我不知道该怎么做。我试着用图像来做,但把一张图像作为背景,通过淡入淡出效果来改变,这会使它变得沉重。有没有办法通过CSS或Javascript来实现这一点?请帮助。

CSS:

.fadechange{
高度:200px;
宽度:100%;
背景:黑色;
动画:无限;
-webkit动画:无限;
}
@关键帧衰减{
0%{背景:黑色;}
33%{背景:红色;}
66%{背景:蓝色;}
100%{背景:黑色;}
}
@-webkit关键帧淡入淡出{
0%{背景:黑色;}
33%{背景:红色;}
66%{背景:蓝色;}
100%{背景:黑色;}
}
根据W3的规定,这必须适用于IE(10+)、Opera、Chrome、Safari和Firefox

CSS:

.fadechange{
高度:200px;
宽度:100%;
背景:黑色;
动画:无限;
-webkit动画:无限;
}
@关键帧衰减{
0%{背景:黑色;}
33%{背景:红色;}
66%{背景:蓝色;}
100%{背景:黑色;}
}
@-webkit关键帧淡入淡出{
0%{背景:黑色;}
33%{背景:红色;}
66%{背景:蓝色;}
100%{背景:黑色;}
}
根据W3的规定,这必须适用于IE(10+)、Opera、Chrome、Safari和Firefox


通过crossfade将div元素的背景色从黑色更改为红色再更改为蓝色。我试着用图像来做这件事,但是把一个图像作为背景,通过淡入淡出效果来改变,会使div元素的背景颜色通过交叉淡入淡出从黑色变为红色变为蓝色。我试着用图像来做这件事,但是把一张图像作为背景,通过淡入淡出效果来改变,这让我感到很沉重。谢谢Maria,这是一个有效的解决方案。它工作得很好。我对上面的代码没有什么疑问。如何管理时间推移?关键帧与旧浏览器的兼容性如何?据我所知,IE9下的关键帧不兼容?这意味着整个动画持续4秒。动画以0%开始,以100%结束,因此在1.33秒后为红色,在2.66秒时为蓝色,在4秒后再次为黑色。这会无限重复。谢谢,我过了一段时间才明白。它工作得很好,但过了一段时间,它就慢了下来。它不像这里那样同步。谢谢Maria提供了这个有效的解决方案。它工作得很好。我对上面的代码没有什么疑问。如何管理时间推移?关键帧与旧浏览器的兼容性如何?据我所知,IE9下的关键帧不兼容?这意味着整个动画持续4秒。动画以0%开始,以100%结束,因此在1.33秒后为红色,在2.66秒时为蓝色,在4秒后再次为黑色。这会无限重复。谢谢,我过了一段时间才明白。它工作得很好,但过了一段时间,它就慢了下来。它不像这里那样同步。