aliencash
@aliencash
Партизан

Как на js в цикле выполнить первые 10 итераций, а последующие после того как пользователь начал скролить?

Пытаюсь ускорить сайт. Написал простенький lazyload, условно по событию `load` меняет у картинок атрибут data-scr на src. Однако, если картинок много это вызывает на медленных устройствах дополнительные тормоза - нужно ждать пока они все прогрузятся. Возникла мысль - грузить только первые 10, а если их больше, то остальные грузить только когда пользователь начнет скролить.
Но что-то совсем не могу придумать как это реализовать... Дайте подсказку, пожалуйста.
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
  1. Уже вводят атрибут loading для картинок, так что вам и делать ничего не нужно.
  2. Загружайте не все и не 10. Загружайте только те картинки что попадают в видимую область. И подгружайте новые только когда они вот-вот попадут в видимую область.
  3. Читайте https://www.sitepoint.com/five-techniques-lazy-loa... и другие материалы на эту тему
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
просто хотелось быстрого решения


Простое решение = готовое решение. Выберите себе библиотечку из готовых, подключите-настройте и все.
Ответ написан
Ваш ответ на вопрос

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

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