首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Lottie动画加载时淡入淡出?

如何在Lottie动画加载时淡入淡出?
EN

Stack Overflow用户
提问于 2021-01-29 09:15:30
回答 1查看 162关注 0票数 0

我使用一个Lottie动画作为我的网站的背景(由普通的超文本标记语言/CSS/JS组成),通过滚动ScrollMagic来控制。但是,在显示其余内容后,动画大约需要1秒才能加载。它最初要长得多,但我能够减小文件大小并提高压缩率。我试图在Lottie加载时添加一个淡入动画,这样它就不会像突然出现的那样不那么刺耳。我当前用来呈现/加载Lottie的代码是

代码语言:javascript
复制
var animData = {
  container: elem,
  renderer: 'svg',
  loop: false,
  autoplay: false,
  rendererSettings: {
    progressiveLoad: false,
    preserveAspectRatio: 'xMidYMid meet'
  },
  path: './data3.json'
};
bgAnim = lottie.loadAnimation(animData);

我尝试向Lottie动画容器添加简单的css属性,但似乎不起作用。如果任何人有任何帮助/想法,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-09-20 23:37:45

您可以将其添加到动画的父包装中,并从开始帧开始淡入淡出。此外,如果您正在使用循环,并且希望淡入和淡出,则可以在最后一帧或定义bgAnim.onLoopComplete函数期间使用removeClass

CSS:

代码语言:javascript
复制
.parent-class {
 opacity: 0;
 transition: opacity 0.3s ease-in-out;
}
.fading-in {
 opacity: 1;
}

JS:

代码语言:javascript
复制
bgAnim.onEnterFrame = ({ currentFrame }) => {
  // not always an integer
  if (currentFrame < 1) {
    jQuery(elem)
      .parent('.parent-class')
      .addClass('fading-in');
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65947504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档