2016-11-27 3 views
0

На моем сайте у меня есть предварительный загрузчик на каждой странице.Как ограничить показ предварительного загрузчика один раз за сеанс?

<div id="preloader" > 
<div id="status"></div> 
<div id="statustext">some text</div> 
</div> 

Это вызвано этим JQuery:

//<![CDATA[ 
var sCookie = Cookies.get('cargado'); 

if (sCookie != null) 
{ 

    $('#preloader').hide(); 
} 
else 
{ 
    $(window).on('load', function() 
    { // makes sure the whole site is loaded 
     $('#status').fadeOut(); // will first fade out the loading animation 
     $('#preloader').delay(350).fadeOut('slow'); // will fade out the white DIV that covers the website. 
     $('body').delay(350).css({ 'overflow': 'visible' }); 
     Cookies.set('cargado', 'si'); 

    }) 
} 
    //]]> 

Моя потребность в том, что прелоадер должен быть показан только один раз для сессии. Другими словами, если пользователь посещает 10 страниц на моем веб-сайте, он должен увидеть его только один раз, первую страницу, независимо от того, входит ли он на веб-сайт с домашней страницы или на внутреннюю страницу. Я придумал решение, показанное выше, но, несмотря на установку вверх по файлу cookie правильно, он не скрывает div preloader.

Я создал тестовую страницу здесь: http://www.mejoresdatos.cl/testpage.html

+0

попробовать оборачивать ваш, если/другое заявление в '$ (окно) .он ... –

ответ

1

Используйте LocalStorage/sessionStorage вместо печенья

<style> 
#preloader 
    { 
    display:none; 
    } 
</style> 

$(window).on('load', function() 
     { // makes sure the whole site is loaded 
      if (typeof(Storage) !== "undefined") { 
       // Code for localStorage/sessionStorage.     
       if(localStorage.isFirstLoadComplete==="false"){ 
        $('#preloader').show(0); 
        $('#status').fadeOut(); // will first fade out the loading animation 
        $('#preloader').delay(350).fadeOut('slow'); // will fade out the white DIV that covers the website. 
        $('body').delay(350).css({ 'overflow': 'visible' }); 
        localStorage.setItem("isFirstLoadComplete", "true"); 
       } 
      } else { 
       // Sorry! No Web Storage support.. 
      } 
     }); 
Смежные вопросы