@vladislav997

Как сделать таймер в кеше?

Такой вопрос: есть сайт (много страничник), как сделать так, чтобы сразу после первого захода на сайт начинал в кеше идти таймер (допустим 60 сек), и после истечения срабатывал div c display inline (до этого например был display:none)? И чтобы при переходах между страниц таймер не начинал идти заново
  • Вопрос задан
  • 110 просмотров
Решения вопроса 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
При первом посещении сайта, скрипт записывает в localStorage (или куда угодно) время первого посещения. После, запускает таймер, и скажем, каждую секунду проверяет "Прошло ли 60 секунд со времени первого посещения"

При повторном заходе, время первого посещения сохранится, и его не нужно обновлять. Скрипт опять будет проверять "Прошло ли 60 секунд со времени первого посещения" и изменять свойства страницы если "Прошло"
Ответ написан
Комментировать
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
function myFunc() {
   return 'I in cache!'
}

let cache = localStorage;

cache.timer = (function() => {
    return setTimeout(myFunc, 3000)
});

console.log(cache.timer);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vladislav997 Автор вопроса
<style>
.display-automessage {display:none;}
</style>

<script>
if(localStorage.getItem('fistVisit'))
{
    
    if (localStorage.getItem('fistVisit') < Date())
    {
    setTimeout(() => {
      document.querySelector(".display-automessage").style.display="inline"
    }, 10);
    }
}
else
{
    var date = new Date();
    date.setSeconds(date.getSeconds() + 5);
    localStorage.setItem('fistVisit', date);
    
    setTimeout(() => {
      document.querySelector(".display-automessage").style.display="inline"
    }, 5000);
}
</script>

<div class="display-automessage">
    hello
</div>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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