IE often delays changes on the screen until after the Javascript
thread completes. They (Microsoft) feel this is an optimization. After
all, the sequence
Show mask screen
do some work
Remove mask screen
accomplishes the same (permanent) screen effects as
do some work
Solution
End the thread by yielding control back to IE itself. Do this by calling setTimeout with a 0 ms delay.
Show mask screen
setTimeout to call next function with 0 ms delay
do some work
setTimeout to call next function with 0 ms delay
Remove mask screen
Show mask screen
do some work
Remove mask screen
accomplishes the same (permanent) screen effects as
do some work
Solution
End the thread by yielding control back to IE itself. Do this by calling setTimeout with a 0 ms delay.
Show mask screen
setTimeout to call next function with 0 ms delay
do some work
setTimeout to call next function with 0 ms delay
Remove mask screen