Как я могу узнать, когда загруженный ajax контент заканчивает загрузку изображений? - PullRequest
1 голос
/ 01 мая 2009

Я загружаю html из ajax-запроса и некоторые img теги в нем.

Мне нужно знать, когда изображения, загруженные в ajax, полностью загружены, чтобы изменить размер контейнера. Я не знаю, сколько изображений в результате, поэтому я не могу просто проверить значение .complete .

Знаете ли вы решение для этого?

Спасибо!

Leandro

Ответы [ 3 ]

1 голос
/ 01 мая 2009

Если вы используете jQuery, команда $(window).load() может настроить функцию, вызываемую после загрузки всех изображений, следующим образом:

$(window).load(
    function() {
        // weave your magic here.
    }
);

Если вы не используете jQuery, я просто сделаю то, что я сделал, когда я хочу маленький бит его функциональности: скачайте его и изучите источник, чтобы увидеть, как он это делает. Затем сделайте это: -)

0 голосов
/ 01 мая 2009

Хорошо, благодаря Пакс, я нашел решение.

Для события success запроса ajax (с использованием jQuery) я добавил следующий код:


$('img', this).load(function() {
    resize_element(this);
});

Спасибо вам обоим!

0 голосов
/ 01 мая 2009

XMLHTTP-запросы имеют свойства, которые вы можете использовать, чтобы определить, когда загрузка завершилась. Если вы используете javascript напрямую, вам необходимо назначить функцию событию onreadystatechange. Это вызывается каждый раз, когда состояние меняется. Состояния хранятся в ReadyState и являются: 0 непосвященных 1 загрузка 2 загружен 3 Интерактивный 4 завершено

В вашей функции вы проверяете, что статус равен 4, и вызываете другие необходимые функции

В JQuery есть события, которые сообщают вам, когда произошли определенные события. Просмотр документации AJAX

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...