7

起動時に一連の配列を生成して計算する必要がある Web アプリケーションを開発しています。これが発生している間に読み込みページを表示したいのですが、cssアニメーションで少し遊んでみてください。処理の重要なイベントで更新される読み込みバーが既にありますが、css-transitions を使用して少し滑らかにしたいと思います。

JavaScriptの実行中に何かをアニメーション化する方法があるかどうか疑問に思っていましたか?

時々ブラウザーに制御を戻して更新できることはわかっていますが、JavaScript を使用してバックグラウンドで何かを計算すると、インターフェイス全体がフリーズするだけというのはばかげていると思います。

編集: これは私が話していることのばかげた例です: http://jsfiddle.net/YWefx/13/ css トランジションを無効にすると、反復ごとにバーが更新されますが、有効にするとトランジションは一番最後にしか発生しません。そのため、各ループ間で 400 ミリ秒待たなければならないか、アニメーションだけで 4 秒を失うか、最後にスムーズなアニメーションが表示されるか (プログレス バーを表示する利点が失われます)、またはバーをアニメーション化しないかのいずれかになります。

4

1 に答える 1

3

CSS3 アニメーションは、負荷の高い処理が行われない限り、Javascript によってブロックされることはありません (その場合、スタッターが発生する可能性があります)。

ロード中にそれらをトリガーしている場合、スクリプトのその部分に到達するまで遅延することがわかりました。

これを回避する 1 つの方法は、スクリプトの最初に setTimeouts を設定して、特定の時間にアニメーションの変更をトリガーすることです。

別の (おそらくより良い) オプションは、キーフレームを使用することです。読み込みが始まる前に、必ずこれを呼び出してください。http://dev.w3.org/csswg/css3-animations/#keyframes

于 2012-10-05T19:49:34.273 に答える