2015-02-09 61 views
0

下面的代码不断更改div的背景图像。请如何让我淡入淡出而不是只是改变?使用jquery连续淡入淡出背景图像

var imageFile = ["1.jpg", "2.jpg", "3.jpg", "4.jpg"]; 
    var currentIndex = 0; 
    setInterval(function() { 
    if (currentIndex == imageFile.length) { 
     currentIndex = 0; 
    } 
    $("#custom_body").css('background-image', 'url("images/' + imageFile[currentIndex++] + '")'); 
    }, 3000); 

我该怎么做?

回答

0
$(document).ready(function() { 

    var seconds = 3000; 
    var step = 0; 
    var limit = 3; 

    $("#custom_body").addClass("image-" + step).fadeIn(700); 

    setInterval(function() { 
     $("#custom_body").fadeOut(700, function() { 
      $(this).removeClass("image-" + step); 
      step = (step > limit) ? 0 : step + 1; 
      $("#custom_body").addClass("image-" + step).fadeIn(700); 
     }); 
    }, seconds); 
}); 
+0

如果淡出整个div不仅bg图像 – user3886042 2015-02-09 09:05:33

+0

好的,那么你可以有两个div。 1)#custom_body 2)#img_container。将#img_container放入#custom_body中。给适当的高度和宽度#img_container。然后在上面的代码中用#img_container替换#custom_body。希望它能起作用。 – 2015-02-09 10:04:41