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

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
416
Реакции
49
Написал следующий скрипт, который отказывается корректно работать.
Код:
$(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
 
Написал следующий скрипт, который отказывается корректно работать.
....
Пользуйся
Код:
    $("#topimg").load("/page.php","action=get_foto",function(data){
                var obj=$(this);
                json = $.parseJSON(data);
                obj.html(json.fimg);
                obj.find('img').hide();
                $("#top100loader").fadeIn(2000);
                var img=new Image();
                img.onload=function(){                       
                      $("#top100loader").fadeOut(2000);  
                       obj.find('img').fadeIn(2000);         
                };
                img.src=src

           
     
            });
 
Последнее редактирование:
Этот скрипт тоже не работает.
img.onload=function(){ ... } не срабатывает (если alert('1'); прописать)
Вопрос открыт...
 
jQuery.ajax и параметр async=false
вам ведь по сути нужен синхронный запрос
 
Назад
Сверху