javascript - 如何交错动画并在每次迭代时同时触发两个动画

标签 javascript jquery html css animation

我有 3 个文本框。默认情况下它们是隐藏的,我需要它们在 DOM 加载时同时淡入并向下滑动 40px。它们还需要“交错”,以便在元素完成动画后触发下一个动画。

这里是相关的js:

jQuery(function($) {
  "Use Strict"
  var outerFunction = function(dropIn, time, offset) {  
    $(dropIn).each(function() {
      var me =   $(this);
      var mejo = $(this).children('.drop-in-text-opacity-wrap');
      setTimeout(function() {
        me.css({'margin-bottom': 0});
        mejo.fadeIn(1000);
      },time)
      time = time + offset;
    }) 
  }
  outerFunction('.drop-in-text', 0, 500)
});

和一个working example on codepen

如您所见,我已经完成了解决方案的大部分工作,但是当第二次和第三次迭代开始时,之前的元素会跳回到它们的原始位置(尽管当检查员发生这种情况时,css 不会变回).

我在 SO 上查看了各种答案:

.dequeue(),
animate({//some code},{queue: false}),
.stop()
etc

但我没有得到任何爱。如果有任何见解,我将不胜感激!

最佳答案

我所做的更改:

CSS:

  1. drop-in-text 中移除边距。
  2. 向其中添加了 translateY(-40px)

JS:

  1. margin-bottom: 0 更改为 transform: translateZ (0) translateY(0)

CODEPEN

关于javascript - 如何交错动画并在每次迭代时同时触发两个动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33356593/

相关文章:

javascript - 已解决的 Promise 需要多长时间才能进入任务队列?

javascript - 如何使用 jquery 递归地附加此树数据?

javascript - CoffeeScript 与和谐

javascript - 如何在 React 中集中处理 API 调用的错误(使用 Axios)

jquery - 根据条件实现导航栏显示/隐藏特定菜单

javascript - JQuery wrap() 函数仅在第一次通过循环时正确地包裹图像周围的链接

jquery - 无限滚动后,Galleria 画廊无法正确加载

html - 一些 Unicode 字符在 Kindle 上不显示

javascript - Canvas使用后不绘图

html - 为什么浏览器从右到左匹配 CSS 选择器?