@Untiwe

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

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

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

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

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

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


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

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


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

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
XPOWER Одесса
от 3 000 до 5 500 $
Artezio Москва
от 160 000 до 220 000 ₽