Как я могу узнать, когда загруженный ajax контент завершит загрузку изображений?

StackOverflow https://stackoverflow.com/questions/809672

Вопрос

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

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

Знаете ли вы решение этой проблемы?

Спасибо!

Леандро

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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


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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top