javascript question - why does “window.location” not ensure my spinner.gif animation works?

Hi,

It seems when I use "window.location" as a means to redirect to the
API when my longer running transaction is does not ensure the
animation for the spinner gif I have works. Any ideas how to fix this?
ie. I see the gif ok but it not being animated. Is there another way
in Javascript to force the redirect once the gif animation starts?
What's the easiest way in Rails to get a "spinner" being show for the
initial spash page whilst it goes to the database to prepare the
detail for the main page.

<div id="loading">
</div>

<script type="text/javascript" charset="utf-8">
   function show_spinner() {
     $("form").hide()
     $("loading").show()
     window.location = "/weekends/display" # <== SEEMS TO STOP
SPINNER ANIMATION
    }
   window.onload=show_spinner;
</script>

CSS:

#loading {
  width:100px;
  height: 100px;
  position: fixed;
  top: 50%;
  left: 50%;
  background:url(/images/ajax-loader.gif) no-repeat center #fff;
  text-align:center;
  padding:10px;
  font:normal 16px Tahoma, Geneva, sans-serif;
  # border:1px solid #666;
  margin-left: -50px;
  margin-top: -50px;
  z-index:2;
  overflow: auto;
}

In general I've found that only Internet Explorer (6, 7 & 8) has this
problem, whereas
other browsers such as Firefox and Safari are ok. In your case is the
problem
only with IE?

actually - I've had some advice towards a better option - now I'm
using jQuery and doing:

$('body').ajaxStart(function(){
  $('#spinner').show();
});
$('body').ajaxStop(function(){
  $('#spinner').hide();
});