Сделать coutdown использовать localStorage - PullRequest
0 голосов
/ 28 апреля 2020

Я изо всех сил пытаюсь заставить этот код работать с localStorage, так что если кто-нибудь может мне помочь, это было бы удивительно. Как реализовать localStorage, чтобы сохранить обратный отсчет при обновлении страницы?

  var hour = 5 * 3600;
  var minute = 5 * 60;

  var deadline = hour + minute;

  function formatTime(seconds) {
    var hide = false;
    var h = Math.floor(seconds / 3600),
        m = Math.floor(seconds / 60) % 60;
    return h + m;

  }


  var counter = setInterval(timer, 1000);

  function timer() {
    deadline--;
    if (deadline < 0) {
      return clearInterval(counter);
    } 

    $('#deadline').html(formatTime(deadline));
  }

1 Ответ

0 голосов
/ 28 апреля 2020

Сохраняйте значение в localStorage каждый раз, когда оно уменьшается. Когда вы перезагрузите страницу, проверьте, существует ли сохраненное время, если да, сохраните его в переменной дедлайн, иначе пусть крайний срок будет исходным.

 var hour = 5 * 3600;
 var minute = 5 * 60;

 var deadline = hour + minute;

 function formatTime(seconds) {
   var hide = false;
   var h = Math.floor(seconds / 3600),
     m = Math.floor(seconds / 60) % 60;
   console.log(h)
   console.log(m)
   return h + m;

 }

 var counter;
 var storedTime = localStorage.getItem('deadline')
 if (storedTime) {
   deadline = Number(storedTime)
 }
 counter = setInterval(timer, 1000);



 function timer() {
   --deadline;
   localStorage.setItem('time', deadline);
   if (deadline < 0) {
     return clearInterval(counter);
   }

    $('#deadline').html(formatTime(deadline));
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...