@Untiwe

Как отследить полную загрузку отдельного элемента?

Есть сайт с постами. После загрузки страницы я проверяю посты и сворачиваю те, что больше определенного порога через js. При нажатии на кнопку, через ajax, подгружаются новые, и их я вставляю вместо текущих и вот тут проблема, как их проверить еще раз?
Не подходящие решения:

-Сразу запустить функцию нельзя т.к. есть картинки и полная загрузка может быть больше 10сек (на телефонах)

-Можно запустить бесконечный цикл с постоянной проверкой, величиной постов на странице но это звучит как чрезмерная трата ресурсов

window.addEventListener("load", function(){}); //работает только после полной загрузки страницы а не вставленных через JS элементов

Element.addEventListener("load", function(){}); //работает, но срабатывает ДО загрузки картинок


document.addEventListener('DOMContentLoaded', function(){}); //работает после полной загрузки HTML текста а не картинок + не реагирует на замену HTML кода JS-ом

setTimeout(function(){})  //не установить т.к. у каждого пользователя своя скорость загрузки


Есть ли способ определить
  • Вопрос задан
  • 1346 просмотров
Решения вопроса 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Находите все новые картинки , на каждый вешаете обработчик события load. Как все картинки загрузятся -- делаете что-то.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы