@Jazz75RUS

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

Нужно настроить заставку-прелоадер внутри pjax контейнера,
суть такая, скрипты в хедере и футере не перегружаются, а обработчик скрипта прелоадера я так понял смотрит как раз на готовность страницы где то в этих местах, на какое действие можно заменить исчезновение заставки? В идеале можно просто делать заставку каждый раз на 3 сек. не обращая внимания на загрузку страницы полностью. Кто в js шарит, помогите пожалуйста.

[[head]]
<div id="pjax-container">
<div id="preloader"></div>
<script>
jQuery(document).ready(function($) {
  $(window).load(function() {
    setTimeout(function() {
      $('#preloader').fadeOut('slow', function() {});
    }, 2000);

  });
});
</script>
</div>
[[footer]]


вот на css вариант сделал
<style>
    #preloader {
    -moz-animation: cssAnimation 0s ease-in 3s forwards;
    /* Firefox */
    -webkit-animation: cssAnimation 0s ease-in 3s forwards;
    /* Safari and Chrome */
    -o-animation: cssAnimation 0s ease-in 3s forwards;
    /* Opera */
    animation: cssAnimation 0s ease-in 3s forwards;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@keyframes cssAnimation {
    to {
        width:0;
        height:0;
        overflow:hidden;
        display:none;
    }
}
@-webkit-keyframes cssAnimation {
    to {
        width:0;
        height:0;
        visibility:hidden;
        display:none;
    }
}
</style>

так работает но чет как то не круто)

хотя вот тоже самое
<div id="preloader"></div>
<script>
jQuery(document).ready(function($) {

   $('#preloader').delay(1500).fadeOut('slow'); // "удаляет" блок который закрывает body
    $('body').delay(10000).css({'overflow':'visible'});// показывает сам body

});
</script>
  • Вопрос задан
  • 598 просмотров
Решения вопроса 1
@WingRS
попробуй делать с .on()
$(window).on('load', function() { // смотрит когда подгружается весь контент 
   $('#preloader').delay(1500).fadeOut('slow'); // "удаляет" блок который закрывает body
    $('body').delay(10000).css({'overflow':'visible'});// показывает сам body
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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