我有一个 CSS3 动画,需要在单击时重新启动。这是一个显示剩余时间的条形图。我正在使用 scaleY(0) 变换来创建效果。
现在我需要通过将条恢复到 scaleY(1) 并让它再次转到 scaleY(0) 来重新启动动画。我第一次尝试设置 scaleY(1) 失败了,因为它需要同样的 15 秒才能恢复到完整长度。即使我将持续时间更改为 0.1 秒,我也需要延迟或链接 scaleY(0) 的分配才能让条形补货完成。对于这样一个简单的任务来说感觉太复杂了。
我还发现了一个有趣的技巧,可以通过从文档中删除元素来重新启动动画,然后重新插入它的克隆: http ://css-tricks.com/restart-css-animation/
它可以工作,但是有没有更好的方法来重新启动 CSS 动画?我正在使用 Prototype 和 Move.js ,但我并不局限于它们。
原文由 Leo 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需通过 JavaScript 将 —
animation
属性设置为"none"
然后设置一个超时,将属性更改为""
,再次从 CSS 继承。Webkit 演示在这里:http: //jsfiddle.net/leaverou/xK6sa/ 但是,请记住,在实际使用中,您还应该包括 -moz-(至少)。