In order to create this effect in all browsers, you can try a different approach like this;
HTML
<body>
<div class="background" id="background"></div>
<div class="page-content">Put your content here</div>
</body>
CSS
.background {
background-image:url('bg.jpg');
position:absolute;
z-index:1;
}
.page-content {
z-index:2;
position:relative;
}
jQuery
$(document).ready(function(){
var windowHeight = $(window).height();
var windowWidth = $(window).width();
var animateWidth = '500'
$('#background').height(windowHeight).width(windowWidth)
.animate({
left: animateWidth + 'px',
width: (windowWidth - animateWidth) + 'px'
}, 2000);
});
Here is a working example: http://jsfiddle.net/HHgKW/3/