jQuery背景图像转换如何实现?

jQuery背景图像转换如何实现?,jquery,image,background,background-image,fade,Jquery,Image,Background,Background Image,Fade,我正在尝试创建一个背景不断变化的主页。现在,我将它设置为身体本身保持背景图像,我只希望一个图像淡入下一个图像,然后循环到开始 我的第一个问题:它不起作用。时期 我的第二个问题:如果它真的起作用,它可能会在延迟间隔之前立即过渡到下一个…我如何防止这种情况 以下是我的代码,位于html文档标记的底部: $(window).load(function() { var current_scene = 0; setInterval(function() {

我正在尝试创建一个背景不断变化的主页。现在,我将它设置为身体本身保持背景图像,我只希望一个图像淡入下一个图像,然后循环到开始

我的第一个问题:它不起作用。时期 我的第二个问题:如果它真的起作用,它可能会在延迟间隔之前立即过渡到下一个…我如何防止这种情况

以下是我的代码,位于html文档标记的底部:

$(window).load(function() {
           var current_scene = 0;
           setInterval(function() {
               if (current_scene == 0) {
                   var current_scene = 1;
                   $(body).animate({
                       backgroundImage: 'url(...)'
                   },400);
               } else if (current_scene == 1) {
                   var current_scene = 2;
                   $(body).animate({
                       backgroundImage: 'url(...)'
                   },400);
               } else {
                   var current_scene = 0;
                   $(body).animate({
                       backgroundImage: 'url(...)'
                   },400);
               }
           }, 3000);
       });

提前谢谢

这是工作代码

为选择器$(“body”)全局声明变量并固定引号


这是工作代码

为选择器$(“body”)全局声明变量并固定引号


你不能用js设置身体背景图像的动画,也不能将身体选择器更改为$(“身体”)

或者试试这个干净的代码

       $(document).ready(function () {
            var img_array = ['1.png', '2.png'];
            var indexOfImage = 0;
            var interval = 3000;
            setTimeout(function () {
                $('body').css('backgroundImage', 'url(' + img_array[indexOfImage++ % img_array.length] + ')');
                setTimeout(arguments.callee, interval);
            }, interval);
        });
为主体添加一些样式

body {
    background-image: none;
    width: 100%;
    height: 100%;
    -webkit-transition: background 0.6s ease-in-out;
    -moz-transition: background 0.6s ease-in-out;
    -o-transition: background 0.6s ease-in-out;
    transition: background 0.6s ease-in-out;
    background-size: cover;
    background-repeat: repeat;
    background-position: 0 0;
}

你不能用js设置身体背景图像的动画,也不能将身体选择器更改为$(“身体”)

或者试试这个干净的代码

       $(document).ready(function () {
            var img_array = ['1.png', '2.png'];
            var indexOfImage = 0;
            var interval = 3000;
            setTimeout(function () {
                $('body').css('backgroundImage', 'url(' + img_array[indexOfImage++ % img_array.length] + ')');
                setTimeout(arguments.callee, interval);
            }, interval);
        });
为主体添加一些样式

body {
    background-image: none;
    width: 100%;
    height: 100%;
    -webkit-transition: background 0.6s ease-in-out;
    -moz-transition: background 0.6s ease-in-out;
    -o-transition: background 0.6s ease-in-out;
    transition: background 0.6s ease-in-out;
    background-size: cover;
    background-repeat: repeat;
    background-position: 0 0;
}