Вход

Просмотр полной версии : Прелоад полученного контента


Check'Yr'Head
28.09.2010, 16:33
Добрый день. Для начала простой код:

$.ajax({
type: "POST",
url: "operate.php",
data: "variable="+someValue,
success: function(msg){
$('div#targetDiv').html(' ').append(msg);
}
});

также имеется индикатор загрузки:

$("#loading img").ajaxStart(function(){
$(this).show();
}).ajaxStop(function(){
$(this).hide();
});

Файл operate.php выводит на экран картинки с подписями. При активации AJAX индикатор загрузки появляется, текст и разметка загружаются, индикатор пропадает. Затем идет не очень красивая догрузка этих самых картинок.
Скажите пожалуйста, как сделать прелоад всего контента, возвращаемого AJAX?
Пользовался поиском, ничего не нашел.

Skipp
28.09.2010, 17:17
Не показывайте содержимое пока оно не загрузится, в чём проблема?
Какой ещё прелоад? Вы представляете о чём спрашиваете?

Check'Yr'Head
28.09.2010, 18:37
По моему мнению, прелоад (preload) элемента - выполнение некой функции (напр. отображение индикатора) до полной загрузки элемента. Спасибо.

Skipp
29.09.2010, 09:19
у img есть событие onload, попробуйте с ним поковыряться.
так же лучше подгружать изображения с помощью создания экземпляра объекта Image.

Check'Yr'Head
29.09.2010, 11:00
Премного благодарен! Буду копать :)

Check'Yr'Head
30.09.2010, 11:37
Если кому еще интересно, есть готовое решение для ожидания загрузки всех изображений, и каждого в отдельности:
http://farinspace.com/jquery-image-preload-plugin/

а вот http://rutracker.org/forum/viewtopic.php?t=2789230 просто шикарный урок, называется "Image loading".