2013-05-06 4 views
0

Я пытаюсь сделать fade backgrounds в jQuery и CSS, это мой код, но он не работает. Есть идеи?Фоновое изображение исчезает в jquery

var images = ['bg.jpg', '_4.jpg', '_5.jpg', '_6.jpg']; 
var i = 0; 

setInterval(function(){ 
$('body').animate({opacity: 0}, 'slow', function() { 
     $(this) 
      .css('background-image', function() { 
     if (i >= images.length) { 
      i=0; 
     } 
     return 'url(' + images[i++] + ')'; 
    }); 
      .animate({opacity: 1}); 
    }); 
}, 1000); 
}); 
+0

Вы понимаете, что вы не можете действительно оживить непрозрачность фона изображения, но только сами элементы. – adeneo

+0

Возможный дубликат [Затухание в фоновом изображении с помощью jQuery] (http://stackoverflow.com/questions/1690869/fading-in-background-image-with-jquery) – Blazemonger

ответ

0

Вы можете анимировать фоновый цвет, но не фоновые изображения, я тоже бил головой о эту стену.

Смотреть здесь- Fade in new background images on scroll

Как и в ответ на мой вопрос, вам нужно использовать <img> «S с отрицательным Z-индекс и исчезают те, в.

Это, как я сделал IT-

CSS

#img1, #img2, #img3, #img4 { 
    width:100%; 
    height:100%; 
    display:none; 
    position:fixed; 
    z-index:-1; 
} 

JQuery

$(document).scroll(function() { 
    var y = $(this).scrollTop(); 
    if (y > 150) { 
     $('#img2').fadeIn(); 
    } 
    else {$('#img2').fadeOut('fast')}; 

    if (y > 300) { 
     $('#img3').fadeIn(); 
    } 
    else {$('#img3').fadeOut('fast')}; 

    if (y > 450) { 
     $('#img4').fadeIn(); 
    } 
    else {$('#img4').fadeOut('fast')}; 
}); 
0
setInterval(function(){ 
      $('.light').animate({opacity: 0}, 4000, function() { 
       $('.light').css({background:'url(./images/' + images[i++] + ') no-repeat top center'}).animate({opacity: 1},4000); 
       if (i >= images.length) { i=0; } 
      }); 
     }, 4000); 

это один должен работать я попробовать это на DIV