Я использую lazyload (библиотека JS), и он отлично работает! У меня есть длинная страница с изображениями, где я использую lazyload, и если я прокручиваю вниз, она отлично работает.
Проблема возникает, когда я нажимаю кнопку, которая скрывает некоторые блоки вверху, и страница поднимается со всеми изображениями. Lazyload не загружает изображения, которые повышают популярность пользователей.
Как я мог это решить? Мне нужно что-то, чтобы уведомить lazyload «пожалуйста, загрузите изображения, которые сейчас находятся в области просмотра пользовательской области».
Спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы используете библиотека lazyload Верлока, это действительно просто: все, что вам нужно, это сообщить плагину, что макет страницы изменился (или содержимое страницы было переформатировано). Это можно сделать, позвонив:
var myLazyLoad = new LazyLoad();
// After your content has changed...
myLazyLoad.update();
... который обновит экземпляр вручную. В вашем случае вам нужно будет вызывать myLazyLoad.update() при нажатии кнопки: как это будет реализовано, действительно зависит от вас.
См. Документацию по API здесь: https://github.com/verlok/lazyload#dynamic-content
@Ommadawn Ага, вам нужно будет вызвать этот метод .update() в конце стека вызовов, потому что странице потребуется время для ретрансляции / перекомпоновки содержимого :) p / s: Надеюсь, вы имели в виду setTimeout?
Спасибо! Работает отлично! Но мне пришлось добавить функцию setInterval, потому что в противном случае div еще не был скрыт, и lazyload не замечает, что что-либо изменилось.