2015-10-07 90 views
2

我想逐个淡出所有元素,然后使用新数据淡入所有元素。如何逐渐淡出和淡入div

因为只有淡入发生,我所做的只是完成了我目标的50%,淡出同时发生在所有div上。

我想知道我该做什么错,以便逐步淡出元素。

任何虽然如何解决这个问题?

定制CSS:

.class4 { 
    width: 24%; 
    height: 100px; 
    float:left; 
    box-shadow: 0px 2px 3px 0px rgba(174,174,174,0.50); 
    background-image: url('http://assets.servedby-buysellads.com/p/manage/asset/id/25126'); 
    background-position: 50% 6%; 
    background-size: 90%; 
    background-repeat: no-repeat; 


} 
.class3 { 
    width: 24%; 
    height: 100px; 
    float:left; 
    box-shadow: 0px 2px 3px 0px rgba(174,174,174,0.50); 
    background-image: url('http://assets.servedby-buysellads.com/p/manage/asset/id/25126'); 
    background-position: 50% 6%; 
    background-size: 90%; 
    background-repeat: no-repeat; 

} 
.class2 { 
    width: 24%; 
    height: 100px; 
    float:left; 
    box-shadow: 0px 2px 3px 0px rgba(174,174,174,0.50); 
    background-image: url('http://assets.servedby-buysellads.com/p/manage/asset/id/25126'); 
    background-position: 50% 6%; 
    background-size: 90%; 
    background-repeat: no-repeat; 

} 
.class1 { 
    width: 24%; 
    height: 100px; 
    float:left; 
    box-shadow: 0px 2px 3px 0px rgba(174,174,174,0.50); 
    background-image: url('http://assets.servedby-buysellads.com/p/manage/asset/id/25126'); 
    background-position: 50% 6%; 
    background-size: 90%; 
    background-repeat: no-repeat; 
    border-bottom: 1px solid lightgray; 
    border-left: 1px solid lightgray; 
    border-right: 1px solid lightgray; 
} 

Jquery的:

$(document).ready(function() { 
    $('#btn').on('click', function(){ 
var loadTime = 500; 
      $('.class1, .class2, .class3, .class4').each(function (fadeInDiv) { 
       //$(this).delay(fadeInDiv * 500).fadeIn(1000); 
       $(this).fadeOut(loadTime, function() { 
        $(this).css('background-image', 'url("https://assets.servedby-buysellads.com/p/manage/asset/id/15119")'); 
        $(this).fadeIn(loadTime); 
        loadTime += 500; 
       }); 
      }); 
     }); 
}); 

HTML:

<input id = "btn" type="button" ><br><br> 
<div class="class1"></div> 
<div class="class2"></div> 
<div class="class3"></div> 
<div class="class4"></div> 

的jsfiddle:http://jsfiddle.net/xudaR/61/

回答

3

$(document).ready(function() { 
 
    $('#btn').on('click', function(){ 
 
    var loadTime = 500; 
 
    $('.class1, .class2, .class3, .class4').each(function (fadeInDiv) { 
 
     
 
      $(this).fadeOut(loadTime, function(){ 
 
       $(this).css('background-image', 'url("https://assets.servedby-buysellads.com/p/manage/asset/id/15119")'); 
 
       
 
      }).data('delay', fadeInDiv * 300); 
 
     
 
\t \t \t $(this).fadeIn(loadTime); 
 
      loadTime += 500; 
 
      }); 
 
     
 
    }); 
 
    
 
});
.class4 { 
 
    width: 24%; 
 
    height: 100px; 
 
    float: left; 
 
    box-shadow: 0px 2px 3px 0px rgba(174, 174, 174, 0.50); 
 
    background-image: url('http://assets.servedby-buysellads.com/p/manage/asset/id/25126'); 
 
    background-position: 50% 6%; 
 
    background-size: 90%; 
 
    background-repeat: no-repeat; 
 
} 
 
.class3 { 
 
    width: 24%; 
 
    height: 100px; 
 
    float: left; 
 
    box-shadow: 0px 2px 3px 0px rgba(174, 174, 174, 0.50); 
 
    background-image: url('http://assets.servedby-buysellads.com/p/manage/asset/id/25126'); 
 
    background-position: 50% 6%; 
 
    background-size: 90%; 
 
    background-repeat: no-repeat; 
 
} 
 
.class2 { 
 
    width: 24%; 
 
    height: 100px; 
 
    float: left; 
 
    box-shadow: 0px 2px 3px 0px rgba(174, 174, 174, 0.50); 
 
    background-image: url('http://assets.servedby-buysellads.com/p/manage/asset/id/25126'); 
 
    background-position: 50% 6%; 
 
    background-size: 90%; 
 
    background-repeat: no-repeat; 
 
} 
 
.class1 { 
 
    width: 24%; 
 
    height: 100px; 
 
    float: left; 
 
    box-shadow: 0px 2px 3px 0px rgba(174, 174, 174, 0.50); 
 
    background-image: url('http://assets.servedby-buysellads.com/p/manage/asset/id/25126'); 
 
    background-position: 50% 6%; 
 
    background-size: 90%; 
 
    background-repeat: no-repeat; 
 
    border-bottom: 1px solid lightgray; 
 
    border-left: 1px solid lightgray; 
 
    border-right: 1px solid lightgray; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
 
<input id="btn" type="button"> 
 
<br> 
 
<br> 
 
<div class="class1"></div> 
 
<div class="class2"></div> 
 
<div class="class3"></div> 
 
<div class="class4"></div>

让我知道这是你想要什么:code

http://jsfiddle.net/xudaR/66/

+0

点击按钮多次连续不工作 – Tushar

+0

这仅仅是开始。另外,您可以减少延迟。 – user1012181

+0

这不会以任何方式回答我的查询 – Tushar