Я бы порекомендовал сначала настроить класс на теле, который будет переключать видимость некоторых элементов.
<body class="loading"> .... </body>
Затем, когда скрипт завершит загрузку, вы можете удалить этот класс и показать все, что вам нужно. Вы даже можете использовать класс «loading», чтобы показать какой-то необычный фон, например, вращающийся круг точек в Mozilla.
Также некоторые проекты используют другой метод загрузки скриптов вместо «onLoad». Сначала вы создаете глобальный массив, скажем, с именем «domReady».
window.domReady = [];
И когда вам нужно добавить некоторую функцию, которая будет запускаться при загрузке страницы, вы просто помещаете ее в этот массив:
window.domReady.push( function foo(){ alert('Hey!'); } );
И в последнюю строку документа вы помещаете функцию, которая будет запускать все нажатые процедуры:
for (procedure in window.domReady) {
window.domReady[procedure].call();
}
Так как это будет последняя строка документа перед закрывающим тегом, DOM будет готов, и вам не придется ждать, пока все изображения будут загружены.