小提琴
http://jsfiddle.net/B9h8y/1/
在Chrome中,当我单击文档时动画运行.
在Firefox中它没有.
当chrome设置为阻塞时,为什么firefox不触发css动画?
- <link rel="stylesheet" href="animate.min.css" />
- <div class="el bounce animated">
- The div
- </div>
- <script type="text/coffeescript">
- $('.el').css(display: 'none')
- $(document).on 'click',->
- $('.el').css(display: 'block')
- <script>
解决方法
经过研究和测试,真正的问题实际上似乎是“为什么WebKit等待播放动画直到显示元素.” Firefox和Internet Explorer都继续播放动画,即使它是display:none;,但Chrome和Safari等WebKit浏览器也在等待.关于相关问题的
This Mozilla bug report comment表明Firefox是这样做的,以便遵循规范,声明匹配Chrome的行为需要更改规范.
因此,无论显示状态如何,Firefox和Internet Explorer似乎正确地运行动画,但WebKit选择通过不在display:none上运行动画来优化渲染.元素.请记住,由于未解决的差异,WebKit仍未取消动画属性的前缀.
我无法找到一组可以达到预期效果的CSS规则.我认为您最好的解决方法是在点击处理程序上添加动画类,或使用设置显示值并启用动画的类.
更新: