【发布时间】:2013-01-06 05:14:09
【问题描述】:
很多人需要重新启动他们的 CSS3 动画;好吧,我想要完全相反的:
如果我通过添加适当的 css 类来启动动画,动画就会启动;如果我随后使用一系列 parentNode.insertBefore 调用(并重用相同的节点实例)对容器进行排序,则动画每次都会重新启动。
我能做些什么来防止这种行为吗?
这是一个显示这种行为的小提琴:http://jsfiddle.net/v66G5/17/
单击全部添加,让动画播放几秒钟,然后单击随机播放:任何移动的节点都会重新启动其动画。
container.insertBefore(node, childrenClone[Math.floor(Math.random() * childrenClone.length)]);
【问题讨论】:
-
所以,澄清一下,您希望节点在移动后继续其动画吗?它应该停在某个关键帧吗?还是应该完全停止并回到最初的状态?
-
我希望它从原来的位置继续播放;这可能是css动画的限制:s
-
有 jsFiddle 吗?我想知道当你移动节点的父节点而不是移动节点时会发生什么? w3.org/TR/css3-animations 还提到了一个允许暂停的
animation-play-statecss 属性(当然,我不知道哪些浏览器实现了它)。 -
使用 animation-fill-mode: forwards; 怎么样,它将在最后一个关键帧上保持动画 - 这就是你要找的吗?
-
@ChristoferVilander 不是真的,我已经有填充模式:无论如何。我正在寻找一种方法来防止动画在节点被删除/重新添加到其父节点时重置(重新索引时似乎就是这种情况)
标签: css css-transitions