質問: 'none'; },0); ```
回答: ●`setTimeout(..., 0)` で画面に反映される保証はありません。 ●規格で`requestAnimationFrame`コールバックの直後にスタイルが画面に反映されることが決まっています。なので、`requestAnimationFrame`を2回行えばOKです。 ``` progress.style.display = 'block'; requestAnimationFrame(function() { requestAnimationFrame(function() { // 時間のかかる処理 ... }); }); ``` ただし、IEが規格にちゃんと準拠しているかどうかは把握していません。 ●昔ながらの方法として、画面レイアウトが確定しないと得られない値を読み出す、というのがあります。 ``` progress.style.display = 'block'; progress.offsetWidth; // 読むだけで使わない // 時間のかかる処理 ... ```