2016-06-23 9 views
0

Я использую библиотеку lazyload.js для ленивых загрузочных изображений, которые динамически загружаются в бесконечно прокручиваемое представление. После того, как я начну прокручивать и загружать следующие страницы результатов, lazyloading работает просто отлично.lazyload.js, требующее действия для отображения изображений при начальной загрузке

При начальной загрузке изображения не загружаются, пока в окне не появятся какие-либо действия, будь то небольшая прокрутка, щелчок по интерактивному элементу в контейнере и т. Д. Если я поставлю таймер на вызов $('.lazy').lazyload(), он работает нормально, но я не хочу этого делать (это очень хаки).

После начальной загрузки, если я запустил $(window).resize() с консоли javascript, загрузка изображений просто прекрасна, но даже если я делаю это в коде после начальной загрузки, это не сработает.

Есть ли способ заставить изображения lazyload при начальной загрузке?

Обратите внимание, что изображения размещаются на странице после начальной загрузки страницы через вызов AJAX.

ответ

1

Я лично не являюсь поклонником lazyload.js (производительность ужасно), но это должно действительно работать из коробки. Погрузка должна запускаться по готовому документу.

Учитывая, что resize тоже не работает, можете ли вы проверить, действительно ли эти события срабатывают? Возможно, что-то не так с вашим HTML (doctype, или бог-знает-что).

+0

У вас есть что-нибудь, что вы рекомендовали бы, в отличие от lazyload.js? – tommybond

+0

Я смещен, я реализую ленивую загрузку с помощью jQuery.isInView, потому что я написал вещь. Другой претендент будет jquery.visible, это (кашель) второй по скорости с точки зрения скорости. Я протестировал кучу компонентов здесь: http://output.jsbin.com/lisudi/3. Возможно, это поможет вам выбрать тот, который работает для вас, в зависимости от количества ленивых предметов на вашей странице. Для гладкой прокрутки вам нужно закончить работу менее чем за 16 мс (на самой медленной платформе, которую вы планируете поддерживать). – hashchange

+0

, поэтому я только что внедрил isInView и все тот же вопрос! Я должен сделать прокрутку SLIGHT, чтобы что-то появилось. Я начинаю думать, что это то, что я делаю неправильно, ха-ха. Я не понимаю. – tommybond