2016-05-11 2 views
3

У меня есть страница, где я пытаюсь отобразить заголовок с MDL, а затем предварительно загрузить некоторые изображения. К сожалению, у меня возникает проблема, когда функция предварительной загрузки изображения фактически блокирует библиотеку от правильного отображения элементов, пока все изображения не будут предварительно загружены.Материал Дизайн Lite Все элементы загружены JS Обратный звонок

Я попытался поставить функцию предварительной загрузки в течение времени с 2 секундами, но пока это работает для самых быстрых соединений, при достаточно медленных соединениях возникает такая же проблема.

В результате я ищу способ рассказать через Javascript, когда библиотека загружается и выполняется - когда все элементы отображаются правильно. Есть ли обратный вызов, который MDL срабатывает, что я могу использовать, чтобы начать предварительную загрузку iamges?

Или есть лучшее альтернативное решение?

+0

Я не уверен, что это будет работать для MDL, но это что-то https://perishablepress.com/a-way-to-preload-images-without-javascript-that-is-so-much-better/ Также вы можете просто использовать обычную функцию JavaScript onload. Он выполняется после того, как загрузится абсолютно весь код, файлы, изображения (вспомните вещи с 'display: hidden;' не загружены на загрузку страницы –

+0

вы хотите ленивые загрузки изображений? – YOU

+0

@AlexeiDarmin Проблема с этой первой ссылкой заключается в том, что MDL не " t выполнять до тех пор, пока страница не будет загружена, поэтому добавление всех изображений в разметку будет иметь ту же проблему. То же самое с onload - MDL не запускается до тех пор, пока страница не будет загружена. –

ответ

1

Используйте событие mdl-componentupgraded. Проверьте цель события и посмотрите, запускается ли компонент компоновки. Уверен, что это макет, вызывающий проблемы здесь из-за того, как мы это сделали для поддержки старых браузеров. Если это не макет, то просто охотитесь и клевать, пока не найдете деталь, вызывающую проблему.

Смежные вопросы