Как проверить загружена ли определенная секция?

Добрый день, друзья!

Как можно проверить загружен ли определенный блок/секция, и если загружена, то выполнить определенные действия.
Например, вывожу прелоадер на сайт, но т.к. там много всего, это занимает очень много времени загрузки и прелоадер видится еще долго (бывает секунд 10-15). Оптимизировано все по максимуму, т.к. PageSpeed выдает 100% (все минифицированно, объединено в один файл, картинки сжаты, спрайты, критический css и т.д.).

Если отключить прелоадер, то видна проблема в первом экране: хоть из-за инлайново встроенного критического css все загружается очень быстро, но там еще работает скрипт (просто маленькая функция в 5 строк), который подстраивает header под высоту экрана, из-за этого происходит скачок.

На данный момент прелоадер загружается после загрузки всего документа:
$(window).on('load', function () {
	$preloader = $('.preloader'),
	$preloader.fadeOut();
	$preloader.delay(350).fadeOut('slow');
});

может есть какой-то лучше способ, либо можно как-то убрать прелоадер после загрузки именно первого экрана?

Спасибо!
  • Вопрос задан
  • 326 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Что вы понимаете под выражением "загружен блок"?
Вы можете отследить когда загружен весь html, или весь html, стили и ресурсы (картинки).

Эта подстройка высот настолько важна, что ради нее вы ввели прелоадер? Может как-то переделать ее на css, или убрать вообще, или пусть сперва страница так и отрисовывается, а потом плавно, без скачка анимируется высота.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы