2012-05-09 2 views
2

У меня есть прекрасное фоновое изображение на веб-сайте, к сожалению, требуется некоторое время для загрузки. Остальная часть моей страницы приводятся функцией, которая вызывается при загрузке тела, как так:Javascript - Большое время загрузки фонового изображения поддерживает мою функцию onLoad

<body onLoad="initialise()"> 
     ... 

Из-за этого, мой браузер ждет фона для полной загрузки перед вызовом инициализации(). Как я могу либо вызвать initialise() до того, как страница полностью загрузится, либо, по крайней мере, до того, как будет сделана фоновое изображение.

Спасибо за ваше время :)

ответ

4

Если вам нужно ждать до страница готова, попробуйте использовать готовое событие JQuery вместо:

<script type='text/javascript'>jQuery(document).ready(initialise)</script> 

Это будет работать до загрузки изображения, но будет ждать всех HTML.

+0

Это замечательно. Именно то, что я искал! Благодарю за ваш ответ :) – user1055650

6

Просто добавьте это прямо перед </body> тегом: метод

<script type="text/javascript">initialise();</script> 
+0

Спасибо за помощь и за такой быстрый ответ. Это исправлено, но я собираюсь использовать функцию $ .ready, которую кто-то еще отправил :) Еще раз спасибо. – user1055650

1

использовать Jquery готов(). если вы не используете jquery, проверьте это: http://code.google.com/p/domready/ Это небольшая библиотека для этой работы.

1

Если Initialise() не зависит от какого-либо элемента страницы, чтобы быть там, то вы можете просто назвать его голову

<script type="text/javascript"> 
    initialise(); 
</script> 

Если Инициализировать) нужно элементы страницы (а затем положить выше сценарий в нижней части html или использовать готовый документ jQuery