首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web Animations API:按需重置动画

Web Animations API:按需重置动画
EN

Stack Overflow用户
提问于 2017-09-11 06:41:32
回答 1查看 378关注 0票数 1

我有一个复杂的动画,它是组合了GroupEffect和SequenceEffect的关键帧效果。在一个非常简化的版本中,它看起来就像这个JSBin https://jsbin.com/denucaq/edit?html,js,output中所呈现的那样

问题是,我必须在某个时刻重置动画所做的所有更改,以便可能重新运行动画或执行其他操作。

我不能使用fill: 'none',因为不同的元素有不同的动画持续时间,它们都必须留在它的最终位置,直到所有的元素都被动画。

所以问题是我应该在crazyWords.reset函数体中写什么?

EN

回答 1

Stack Overflow用户

发布于 2017-09-11 13:58:33

这将需要一些数学知识,但您可以从方法本身获得所需的所有信息。尝试将其放入重置函数中,然后在不同的时间单击它:

代码语言:javascript
复制
console.log(document.timeline);

您可以访问oncancel方法,因此可以使用它来恢复基于开始时间和当前时间的更改,依此类推(这里发生了数学运算)。我还发现了一个非常好用的反向方法:

代码语言:javascript
复制
const allAnimations = document.timeline.getAnimations();
allAnimations.forEach((ani) => {
  ani.pause();
  console.log(ani.playState);
  ani.reverse();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46146214

复制
相关文章

相似问题

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