Что, если у вас был DIV размера тела, установленный на цвет фона с помощью счетчика (а не на теле), затем просто добавили фон тела и медленно увеличивали прозрачность DIV, пока он не стал полностью прозрачным, а затем удалили его,Вы должны установить z-index этого DIV выше, чем тело, но ниже, чем содержание на странице.
Тогда вы можете использовать трюк @ Groovetrain для проверки того, что изображение загружено, чтобы вызвать раскрытие.
body{background-color: #e6f8bb; font-family:'Arvo'; sans-serif;}
body.loaded {background:url(images/bg.jpg) 50% 0 no-repeat #e6f8bb;}
div.reveal{position: absolute; height: 100%; width: 100%; z-index: 1; background-color: #e5f8bb;};
span.loader{position:absolute; top:39px; left:484px;height:31px; width:31px; background-image:url(images/loader.gif); }
#content { z-index: 2 }
<script type="text/javascript">
$(function() {
var img = new Image();
$(img).hide().load(function() {
$('body').addClass('loaded');
$('.reveal').animate({opacity:0}, function() {
$(this).remove();
});
});
img.src = "/images/bg.jpg";
});
</script>
<body>
<div class="reveal">
<span class="loader"> </span>
</div>
<div id="#content">
...
</div>
</body>