Добавить в скрипт сохранение данных в локальном хранилище браузера

Рейтинг: 1Ответов: 1Опубликовано: 08.07.2023

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

<script>
$(function(){
  var n=114; //начальное значение
 
  pollDOM ();
    
  function pollDOM () {
      if (n>0) {
       n=n+randomInteger(1, 1); //диапозон случайных прибовляемых цифр
        if (n<0) n=0;`введите сюда код`
        $('#mytime').text(n);
       setTimeout(pollDOM, 30000);  //задержка перед прибавлением в милисекундах
      }
  }    
 
  function randomInteger(min, max) {
     let rand = min - 0.5 + Math.random() * (max - min + 1);
      return Math.round(rand);
    };
});
</script>

Ответы

▲ 0Принят

Попробуйте так:

$(function () {
  // получаем значение из localStorage, если оно там есть
  var n = +localStorage.getItem('counter') || 114; //начальное значение

  pollDOM();

  function pollDOM() {
    if (n > 0) {
      n = n + randomInteger(1, 1); //диапозон случайных прибовляемых цифр
      if (n < 0) n = 0;
      $('#mytime').text(n);
      // сохранение значения в localStorage
      localStorage.setItem('counter', n);
      setTimeout(pollDOM, 30000);  //задержка перед прибавлением в милисекундах
    }
    
  }

  function randomInteger(min, max) {
    let rand = min - 0.5 + Math.random() * (max - min + 1);
    return Math.round(rand);
  };
});

Для того, чтобы изменить значение в localStorage, используйте localStorage.setItem, а для того, чтобы получить значение, используйте localStorage.getItem.

Подробнее про localStorage: https://learn.javascript.ru/localstorage.