Как я могу сохранить десятичное значение с помощью localStorage в функции setInterval, а также изменить «точку» на «запятую»? - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь создать значение countUp в зависимости от времени в секунду. Он будет продолжать считать (добавляя мое значение customRate), даже когда страница обновляется. Но второе значение после «точки» не восстановится, если я обновлю sh страницу, она снова начнется с «значения customRate». любое решение для этого? и второй вопрос: как в этом коде заменить «точку» на «запятую»?

Спасибо

Вот мой код:

var impulse = 0;
tmpImpulse = localStorage.getItem('impulseFix1')
if (tmpImpulse != null) {
  impulse = parseInt(tmpImpulse, 10);
}
setInterval(function() {
  localStorage.setItem('impulseFix1', impulse)
  customRate = 0.046
  impulse = impulse + customRate;
  document.getElementById("impulse").innerHTML = impulse.toFixed(3) + " impulse/second";
}, 1000);
<span id="impulse" style="color:red"> </span>

1 Ответ

1 голос
/ 09 июля 2020

Посмотрите здесь Если вы счастливы, удалите let impulse = 0.5; // testing

и раскомментируйте строки localStorage

// let impulse = JSON.parse(localStorage.getItem('impulseFix1'));
let impulse = 0.5; // testing
const customRate = 0.046
if (impulse != null) {
  impulse = +impulse; // do not parseInt here, your decimals will go
}
setInterval(function() {
  impulse += customRate;
 //   localStorage.setItem('impulseFix1', JSON.stringify(impulse))
  document.getElementById("impulse").innerHTML = impulse.toFixed(3).replace(".",",") + " impulse/second";
}, 1000);
<span id="impulse" style="color:red"> </span>
...