Как правильно реализовать вложенный load в jquery?

программирование JavaScript jQuery load

Написал следующий скрипт, который отказывается корректно работать.

$(document).ready(function() {

/* При загрузке страницы подгружаем фото из БД */
$("#topimg").load("/page.php","action=get_foto",function(data){

json = $.parseJSON(data);

/* В json.fimg приходит картинка вида <img src='d6.jpg' height='480px' />. Нужно запихнуть
её в div #topimg и плавно показать, спрятав лоадер */
$(this).html(json.fimg).load(function () {
$("#top100loader").hide();
$(this).fadeIn(2000);
});
});

});


Данный код не работает. Даже если попробовать запихнуть внутрь вложенного load() alert(1) - не срабатывает.
Если попробовать убрать вложенный load(), написав просто $(this).html(json.fimg).fadeIn(2000); все работает, т.е. проблема именно во вложенном load().
Есть ли решение данной проблемы и почему так происходит?
версия jQuery v1.5.2
Ответы:
Странно, а нафига тебе здесь асинхрон? Что мешает просто выдать src тегу img и пусть себе подгружает. Смотри в чём фокус - ты асинхронно получаешь img (неважно куда). Притом можешь предсказывая его загрузку, сделать это раньше клика. А при последующем вызове он уже будет лежать в кеше браузера.
Да, странно ты делаешь.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.