【问题标题】:Get current time of a running CSS3 animation获取正在运行的 CSS3 动画的当前时间
【发布时间】:2011-02-11 18:00:00
【问题描述】:

我正在尝试获取正在运行的动画的当前时间,但我没有找到任何东西。我可以得到开始时间:

myelement.addEventListener('webkitAnimationStart', function (evt){ 
  console.log(evt.elapsedTime)                                   
});

和结束时间:

myelement.addEventListener('webkitAnimationEnd', function (evt){ 
  console.log(evt.elapsedTime)                                   
})

但是我认为这是蹩脚的,因为这些值很容易从 CSS 中获得。 有什么想法吗?

【问题讨论】:

  • 对于微调动画,您应该使用 JavaScript 而不是 CSS。 CSS 动画旨在作为简单的样式效果,而不是持续的用户交互。

标签: javascript css animation dom-events


【解决方案1】:

CSS 动画的状态挂钩非常有限。它们不报告当前时间(尽管您可以使用 window.getComputedStyle() 获取当前应用的变换矩阵)。

你得到一个开始和一个结束事件 - 就是这样。如果您需要获取当前时间,请使用 JavaScript。

【讨论】:

  • 谢谢迈克尔,这也是我的猜测。必须在开始时调用 setInterval。跛脚...
  • 由于新的 Web 动画 API,这不再是真的:developer.mozilla.org/en-US/docs/Web/API/Animation/currentTime 在 FF 和 Chrome 中默认支持,在 Safari 中部分支持,并且有一个用于 IE 的 polyfill。耶 2016 年
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 2015-02-28
  • 1970-01-01
相关资源
最近更新 更多