javascript - 每个循环淡入淡出动画中的 jQuery 异步行为

标签 javascript jquery asynchronous async-await

我对 JS 的异步行为有一个小问题。我的计划是循环浏览一些隐藏的图像,并以指定的 FadeIn、FadeOut 和 Staytime 淡入和淡出它们。我尝试使用以下代码来执行此操作:

jQuery('.fader img').each(function(x, y) {

    var faderImg = jQuery(y);
    faderImg.fadeIn(400).delay(1000).fadeOut(400);

});

我的问题是,它不等待最后一个链接的 fadeOut 语句的执行,而是同时在每张图片上执行动画。我也用 async 和 wait 尝试过,但它没有解决我的问题,因为它具有与上述相同的行为。

jQuery('.b1-img-fader img').each(async function(x, y) {

  var faderImg = jQuery(y);
  await faderImg.fadeIn(400).delay(1000).fadeOut(400);

});

有人可以帮忙存档,在之前的图像完成淡出后,每个图像都会淡入吗?如果内部功能完成,循环应该只开始下一轮。

感谢您的帮助!

最佳答案

假设您希望每个图像单独制作动画,您需要延迟每个连续的图像,以完成所有先前图像所需的时间。

为此,您可以通过将当前图像的索引乘以动画所花费的时间来获得延迟量,如下所示:

$('.b1-img-fader img').each(function(index, el) {
  $(this).delay(index * 1800).fadeIn(400).delay(1000).fadeOut(400);
});

关于javascript - 每个循环淡入淡出动画中的 jQuery 异步行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57496896/

相关文章:

javascript - jQuery根据滚动定位增加和减少div高度

python - 编写了哪些 Python 库来演示函数式响应式编程?

node.js - NodeJS - 发送多个请求并在一个回调中处理所有响应

javascript - 类似于 document.ready 的事件可用作 Awesomium.Net 中 Bootstrap 问题的解决方法

javascript - 使用 Javascript 单击移动图像?

javascript - 如何在 PHP 中获取 HTML5 Range Slider 的值?

c# - 使用 C# 异步调用进行自定义消息抽取

javascript - 获取 jQuery 中选定行的特定元素值

javascript - 如何拆分代码以获得更好的可读性?

javascript - 输入日期字段应仅显示月份和年份