いくつかのことが奇妙だと思いますが、最初にあなたの質問に答えるには:
ほとんどのDOM/cssの変更は、実行中のJavascriptが戻るまで適用されません。これを回避するには、DOMを変更してから、残りのJavascriptコードを実行するためのタイムアウトを設定します。
元:
// make your image visible
function continuation() {
// Put the javascript task that you need to execute here
}
// setTimeout will release execution control back to the browser so your CSS/DOM updates
// can be applied. Once those updates are applied, continuation will be called
// by the browser and your remaining javascript can run.
setTimeout(continuation, 0);
実行に非常に時間がかかり、読み込み中のgifを表示する時間さえあるjavascriptがあるのは奇妙に思えます。XHR(ajax)リクエストを実行している場合は、読み込み中の画像を表示するのが理にかなっていますが、それを実行している場合は、説明している問題が発生することはありません。あなたのこのjavascriptタスクは正確に何をしていますか?