1

如果现在正在对元素应用任何类型的转换,如何通过 js 检测?

我的问题的简短故事:

我有一种情况,我在transitionend事件上触发了一个函数,但有时该元素没有应用任何转换(例如,因为在 Firefox 中,用户快速单击了某个元素,这使得转换变得疯狂和停止工作)所以我想知道它什么时候不起作用,然后自己触发该功能,跳过transitionend. 我试图避免丑陋的解决方案..

4

1 回答 1

0

W3C 编辑草案指定 - CSS 过渡

'transitionend' 事件在转换完成时发生。如果在完成之前移除了转换,例如移除了转换属性,则不会触发该事件。

所以,我认为没有有效的简单方法来解决这个问题。解决方案留给实现(浏览器)来决定它是否渲染过渡。

也许,一个解决方案可能是将侦听器附加到触发转换的元素,并在特定的经过时间后检查转换的元素是否设置了所需的 CSS 属性,如果这些属性未按预期设置,您可以运行您的自己发挥作用。

于 2013-01-15T23:57:34.537 回答