@Mishcake

Как отключить прелоадер после загрузки страницы (скрипт в head)?

Всем привет!

Есть скрипт прелоадера:
#hellopreloader>p {
    display: none;
  }

  #hellopreloader_preload {
    display: block;
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-width: 1000px;
    background: #E67E22 url(http://hello-site.ru//main/images/preloads/tail-spin.svg) center center no-repeat;
    background-size: 41px;
  }

<div id="hellopreloader">
  <div id="hellopreloader_preload"></div>
</div>

let hellopreloader = document.getElementById('hellopreloader_preload');
function fadeOutnojquery(el) {
  el.style.opacity = 1;
  let interhellopreloader = setInterval(function () {
    el.style.opacity = el.style.opacity - 0.05;
    if (el.style.opacity <= 0.05) {
      clearInterval(interhellopreloader);
      hellopreloader.style.display = 'none';
    }
  }, 16);
}
window.onload = function () {
  setTimeout(function () {
    fadeOutnojquery(hellopreloader);
  }, 1000);
};


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

Если добавить в конец body, то я вижу мигание страницы, потом запускается лоадер и выключается после загрузки.

Что я делаю не так, подскажите, пожалуйста.
  • Вопрос задан
  • 352 просмотра
Решения вопроса 1
Get-Web
@Get-Web Куратор тега JavaScript
Front-End Developer
На момент когда вызывается прелоадер, блока hellopreloader_preload еще нет в dom, подключить скрипт сразу после:
<div id="hellopreloader">
  <div id="hellopreloader_preload"></div>
</div>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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