让CSS动画在严格的时间基础上工作



也就是说,如果我将动画设置为1秒,它是否总是只需要1秒(即跳过帧以达到该间隔)?

我的问题的第2部分涉及如何在异步Javascript调用中使用CSS动画。我需要能够在动画完成后回忆起它。

时间不能保证完全正确。为了演示,我设置了一个测试用例,它显示时间从1秒的标记有一点变化。至于你问题的第二部分,你可以使用animationend事件重新启动它,或者你也可以将它设置为迭代(就像我在我的例子中所做的那样)。

Update很难模拟浏览器阻塞,但是我注意到当它自然阻塞时,与动画有明显的偏差。例如,在加载页面时,我的Firebug启动了,这导致第一个动画向下跳到0.574秒,几乎是原始值的一半。因此,看起来浏览器确实尝试了一些补偿,但它也可能过度补偿。我也看到过2秒的时间,所以我认为你不能说时间在任何方面都是准确的。

Update 2所以,我能够让浏览器阻塞(必须在FF中计数到1000000…我印象深刻),对你的问题的快速回答是否定的,它不会做任何补偿来尝试获得准确的时间。它只是窒息而不动。请注意,这是一个紧密循环,所以如果它可以在那里进行其他计算,它可能会表现得更好,但我不确定。

你的问题的答案基本上都在MDN。要点是:

  1. 时间并不完全准确,但它们很接近。
  2. 在动画(和过渡)期间,有在不同时间触发的事件。您可以将事件处理程序附加到它们。

最新更新