【发布时间】:2022-01-21 01:28:53
【问题描述】:
我有一个循环的 css 关键帧动画。
animation-iteration-count: infinite
现在,当我单击一个按钮时,我希望动画完成当前循环然后停止。
this 问题似乎相关,但animationiteration webkitAnimationIteration 回调似乎不会在关键帧动画结束时被调用,但更频繁。
编辑:事实证明这几乎是正确的解决方案,只是它不能处理多个动画。有关更多信息,请参阅下面的答案。
This example 显示我的动画,悬停时我想尝试完成当前循环然后停止。这包括@Alex Gru 提出的答案,如果等待动画循环多次然后悬停您可以看到动画跳跃,则它不起作用。如果它没有循环完整的迭代并且我设置了animation-iteration-count: 1,它会按预期工作。
【问题讨论】:
-
“我尝试过使用 webkitAnimationIteration 来计算迭代次数,但该计数似乎与到目前为止的循环数量没有直接关系。” - 究竟是什么意思?请不要给我们一个过于模糊的陈述,说您尝试了某些东西但它没有用,但要明确 - minimal reproducible example 您尝试了什么,加上适当的问题描述。
-
document.getElementById("animated-thing").addEventListener("webkitAnimationIteration", function (event) {但是在循环结束时不会调用该函数,而是在两者之间更频繁地调用。 -
这不一定与我尝试过的问题有关。
-
我已经重新设计了这个问题。这次不包括不起作用的东西。不需要一个最小的例子,因为解释错误的方法 - 可能会帮助人们提供帮助 - 但肯定会使问题复杂化。