jQuery背景图片过渡如何?

Gra*_*Noe 0 jquery background image fade background-image

我正在尝试创建背景变化的主页。现在,我已对其进行了设置,以使主体本身保留背景图像,并且我只希望一个图像淡出到下一个图像,然后循环到起点。

我的第一个问题:它不起作用。期。我的第二个问题:如果确实有效,它可能会立即过渡到下一个,然后延迟间隔时间...我该如何防止呢?

以下是我的代码,该代码位于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);
       });
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Has*_*yml 5

您无法使用js设置身体的backgorund图像动画,并将身体选择器更改为$(“ body”)

          $(document).ready(function(){
                var current_scene = 0;
                setInterval(function() {
                    startAnimation();
                }, 3000);

                function startAnimation() {
                    if (current_scene == 0) {
                        current_scene = 1;
                        $("body").css({ 'background-image': 'url(1.png)' });
                    } else if (current_scene == 1) {
                        current_scene = 0;
                        $("body").css({ 'background-image': 'url(2.png)' });
                    }
                }
            });
Run Code Online (Sandbox Code Playgroud)

或尝试这个干净的代码

       $(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);
        });
Run Code Online (Sandbox Code Playgroud)

给身体增添一些风格

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;
}
Run Code Online (Sandbox Code Playgroud)