在javascript计算时使用CSS动画
我正在开发一个web应用程序,它需要在启动时生成和计算一组数组。我想在出现这种情况时显示一个加载页面,可能会播放一些css动画,但在执行javascript时,css动画似乎会挂起。我已经有了一个加载栏,它会根据处理的关键事件进行更新,但我想使用css转换来稍微平滑一下 我想知道是否有任何方法可以在javascript执行时让某些东西动画化 我知道我可以时不时地把控制权还给浏览器,让它刷新,但我觉得用javascript在后台计算某些东西只是冻结整个界面是愚蠢的 编辑:下面是我所说的一个愚蠢的例子:在javascript计算时使用CSS动画,javascript,css-transitions,css-animations,Javascript,Css Transitions,Css Animations,我正在开发一个web应用程序,它需要在启动时生成和计算一组数组。我想在出现这种情况时显示一个加载页面,可能会播放一些css动画,但在执行javascript时,css动画似乎会挂起。我已经有了一个加载栏,它会根据处理的关键事件进行更新,但我想使用css转换来稍微平滑一下 我想知道是否有任何方法可以在javascript执行时让某些东西动画化 我知道我可以时不时地把控制权还给浏览器,让它刷新,但我觉得用javascript在后台计算某些东西只是冻结整个界面是愚蠢的 编辑:下面是我所说的一个愚蠢的例
如果禁用css转换,该条将在每次迭代时更新,但如果启用它,转换将只在最后发生。因此,我要么在每个循环之间等待400毫秒,要么在最后做一个平滑的动画(失去显示进度条的好处),要么不设置进度条的动画。CSS3动画不会被Javascript阻止,除非有一些激烈的处理进行(在这种情况下,你可能会口吃) 如果在加载过程中触发它们,我可以看到它们被延迟,直到到达脚本的该部分 解决此问题的一种方法是在脚本的最开始设置超时,以在特定时间触发动画更改
另一个(也许更好)选项是使用关键帧。请确保在加载开始之前调用此选项。使用jquery动画如何?仅使用gif图像如何?我相信jquery动画具有相同的限制,即任何密集计算都会将其冻结。对于gif图像,它们会重复“等待”图标,但不是用于加载栏中的平滑效果。这不会回答他的问题。如果javascript锁定浏览器线程(长时间运行的一系列代码),CSS动画将停止。请参见此处:动画在while循环完成后才会恢复。确切地说,我用另一个示例编辑了我的问题,重点是我的实际问题。这对我很有效:(不是经过浏览器测试,只是chrome)另一个选择是Web workers,但我还没有测试这个用例。好的,我现在明白了我不应该谈论css动画,而是css转换。我应该为这个问题发布一个不同的问题吗?我还认为Web workers可以解决我的问题。