我正在尝试通过javascript交叉淡入淡出更改背景颜色和一系列图像。在前 3-4 个循环中,两者都是同步的(每种颜色在 2 秒内,每个图像在 2 秒内),但经过一段时间后,背景颜色的变化会变慢并滞后。我希望这两个元素同时改变。请帮忙。FIDDLE-jsfiddle.net/pEHZR
$(function () {
var colors = ['black', 'red', 'blue', 'black'];
var i = 0;
var cont = $('div.container');
var back = $('div.back');
back.css('opacity', 1);
back.css('backgroundColor', colors[0]);
cont.css('backgroundColor', colors[1]);
window.onload = function start() {
setInterval(function () {
anim();
}, 2000);
}
function anim() {
if (i == colors.length - 1) {
i = 0;
return;
}
back.css({
backgroundColor: colors[i],
opacity: 1
});
cont.css({
backgroundColor: colors[i + 1]
});
i++;
back.stop().animate({
opacity: 0
}, 2000, anim);
}
});
$(function () {
$('.fadein img:gt(0)').hide();
setInterval(function () {
$('.fadein :first-child').fadeOut().next('img').fadeIn().end().appendTo('.fadein');
}, 2000);
});