2016-10-18 4 views
0

私は時々重い計算をするjavascriptプログラムのメソッドを持っています(私はいつでも仮定することができません)、何かがバックグラウンドで起こっていることをユーザーに通知したい現在は処理中であるため、CSSでアニメーションを実行しましたが、その重い計算が行われると、ブラウザはアニメーションも起動しませんが、代わりにフリーズします。 setIntervalとsetTimeoutでいくつかのハッキングを試しましたが、期待通りに動作しません。私が見つけた唯一の合理的な解決策は、私の状況では多くのリファクタが動作すると予想されるwebWorkersを使用することでした。 JavaScriptがその仕事をして、同時に処理が行われていることをユーザーに見せてくれるようにするためにあなたの頭に来る他のトリックはありますか? 重いjs計算の間にCSSのアニメーション

はありがとう

+0

いいえ、javascriptはuiスレッドで実行されます。つまり、uiの更新とコードの実行が同時に発生することはありません。 Webワーカーはこの問題を解決するように設計されています。 – tcooc

答えて

2

あなたは自分の計算を行うと計算が終了したら、display: none CSSプロパティでそれを隠す前に、アニメーションGIFを(YouTubeの負荷円を考える)を表示してみてください可能性があります。