Я бы порекомендовал первые настройки некоторого класса на теле, который переключит видимость некоторых элементов.
<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 будет готов, и вам не придется ждать, пока все изображения не будут загружены.