javascript - jQuery 逐个淡出多个 div,然后同时淡入所有

标签 javascript jquery html fadein fadeout

$(document).ready(function(){
  $('#divBTN').click(function(){
    $("#div1").fadeOut(1000);
    $("#div2").fadeOut(2000);
    $("#div3").fadeOut(3000);
    $('#div1,#div2,#div3').fadeIn(4000);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="div1" style="width:70px; height:30px; background-color: green;"></div>
<br>
<div id="div2"  style="width:70px; height:30px; background-color: green;"></div>
<br>
<div id="div3" style="width:70px; height:30px; background-color: green;"></div>
<br>
<button id="divBTN">Click Me!</button>

如您所见,div 一个接一个地淡出,这是预期的,但是当我试图同时淡入它们时,它一个接一个地淡入,这是不正确的。我希望它们全部同时淡入。

有人可以帮帮我吗??

最佳答案

您需要等待 fadeOut 结束然后 fadeIn 元素。所以使用fadeOut()complete函数在其中淡入淡出 end 和 fadeIn 元素时调用。

$('#divBTN').click(function(){
  $("#div1").fadeOut(1000);
  $("#div2").fadeOut(2000);
  $("#div3").fadeOut(3000, function(){
    $('#div1,#div2,#div3').fadeIn(4000);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="div1" style="width:70px; height:30px; background-color: green;"></div><br>
<div id="div2"  style="width:70px; height:30px; background-color: green;"></div><br>
<div id="div3" style="width:70px; height:30px; background-color: green;"></div><br>
<button id="divBTN">Click Me!</button>

关于javascript - jQuery 逐个淡出多个 div,然后同时淡入所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53693467/

相关文章:

javascript - IE8 支持哪些 Javascript 版本?

javascript - 奇怪的 CSS 位置正确 :0 issue

android - 如何更改sencha touch输入框的默认样式?

javascript - 在 JavaScript 中将键数组和值数组合并到一个对象中

javascript - 三个JS - 如何用Y平面切割3D对象?

javascript - 如何在 vue.js 中格式化以千、百万或十亿为单位的数字?

javascript - jquery 折叠按钮不加载远程内容

jQuery通过ajax从下拉框的onchange事件加载表单元素

javascript - 为什么这一小段 jQuery 会搞乱我的 JavaScript 的其余部分?

html - 处理 CORS 表单提交