0

当用户加载我的页面时,我想让背景颜色为白色,然后在 5 秒后淡出颜色并淡入图片。5 秒后再次淡入另一张图片,这样您就可以在我的内容后面的背景中创建某种幻灯片放映。这就是我现在拥有的,但它不起作用,有什么帮助吗?

$(document).ready(function() {
setTimout(function() {
    $('body').css("background-image","url('../img/background/1.jpg')").fadeIn(1000)
},5000);

function repeat() {
    $('body')
        .delay(5000).css("background-image","url('../img/background/2.jpg')").fadeIn(1000)
        .delay(5000).css("background-image","url('../img/background/3.jpg')").fadeIn(1000)
        .delay(5000).css("background-image","url('../img/background/1.jpg')").fadeIn(1000);
}
window.setInterval(repeat, 18000);
});
4

1 回答 1

0

以下是语法错误:

setTimout(function() {
$('body').css("background-image","url('../img/background/1.jpg')").fadeIn(1000)
},5000);

应该

setTimeout(function() {
$('body').css("background-image","url('../img/background/1.jpg')").fadeIn(1000)},5000);

它缺少setTimeout中的e

我也不相信您将能够淡入背景图像,除非您将其设置在 DIV 上,除非您淡出身体。我已将您的背景更换器重新编写为更少的代码行,这些代码行重复提供的图像列表。这应该继续循环您在数组中拥有的图像。

$(document).ready(function () {
                var images = ["../img/background/1.jpg", "../img/background/2.jpg"];
                var index = -1;

                window.setInterval(function () {
                    index = (index + 1 < images.length) ? index + 1 : 0;
                    $('body').css("background-image", "url('" + images[index] + "')");
                }, 5000);
            });
于 2012-11-02T19:38:52.373 回答