Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript计算时使用CSS动画_Javascript_Css Transitions_Css Animations - Fatal编程技术网

在javascript计算时使用CSS动画

在javascript计算时使用CSS动画,javascript,css-transitions,css-animations,Javascript,Css Transitions,Css Animations,我正在开发一个web应用程序,它需要在启动时生成和计算一组数组。我想在出现这种情况时显示一个加载页面,可能会播放一些css动画,但在执行javascript时,css动画似乎会挂起。我已经有了一个加载栏,它会根据处理的关键事件进行更新,但我想使用css转换来稍微平滑一下 我想知道是否有任何方法可以在javascript执行时让某些东西动画化 我知道我可以时不时地把控制权还给浏览器,让它刷新,但我觉得用javascript在后台计算某些东西只是冻结整个界面是愚蠢的 编辑:下面是我所说的一个愚蠢的例

我正在开发一个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可以解决我的问题。