【发布时间】:2015-03-03 14:43:41
【问题描述】:
我可以在 setTimeout 上使用淡入或淡出吗?我在一个数组中有 3 个背景图像,我想慢慢淡化每一个。
这是我运行良好的代码,我只是希望过渡慢一点,而不是像现在这样超级快。
$(function () {
var nextImage = $('.main-background');
var backgrounds = [
'url(<?= $image_url ?>/big-main-background-1.jpg)',
'url(<?= $image_url ?>/big-main-background-2.jpg)',
'url(<?= $image_url ?>/big-main-background-3.jpg)'];
var current = 0;
function nextBackground() {
nextImage.css(
'background',
backgrounds[current = ++current % backgrounds.length]);
setTimeout(nextBackground, 4000);
}
setTimeout(nextBackground, 4000);
nextImage.css('background', backgrounds[0]);
});
【问题讨论】:
-
我不认为你可以通过 css 淡化背景。但是你可以通过使用多个相互堆叠的实际图像并改变它们的不透明度来做到这一点。
-
意味着什么,在图像 1(不透明度为 1)和图像 2 和图像 3(不透明度为 0)上。然后当图像 2 显示不透明度为 1 并且图像 1 和图像 3 的不透明度变为 0 时。类似的东西?
标签: jquery settimeout fadein fadeout