javascript - 如何依次淡出和淡入div

标签 javascript jquery css

我想按顺序淡出所有元素,然后用新数据淡入所有元素。

我所做的只完成了我目标的 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;
}

J查询:

$(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/

最佳答案

$(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);

      $(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>

如果这是你想要的,请告诉我:代码:

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

关于javascript - 如何依次淡出和淡入div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32996423/

相关文章:

javascript - 尝试通过 html 显示显示器的宽高比

javascript - 要求未找到 Angular Directive(指令) Controller

javascript - 是否可以使用通配符从目录中的所有文件导入模块?

javascript - 动态创建带分页的 HTML 表格

iphone - 针对 iPhone iPad 的 CSS 样式表不起作用

javascript - 循环图像标题不起作用

javascript - 将 API 结果分组到一个 DIV 中

javascript - 将可排序包含限制为表中的特定行

javascript - 如何使用 Javascript 查找下一张图片 src

html - 图片 :first-of-type selects all images