2015-02-09 123 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