根据 Date 或 Interval javascript 增加一个数字(并在刷新页面后保留)

Increase a number based on Date or Interval javascript (and keep it after refresh page)

我在努力弄清楚如何根据日期或时间(使用 setInterval)增加数字。

我不知道哪个选项更容易。我通过使用 setInterval:

HTML

 <p class="counter"></p>

JS

let tickets = 35000;
        const counter = document.querySelector('.counter');

        let interval = setInterval(function(){
        console.log(tickets);

        if (tickets >= 60000) {

            var textSoldOut = `<p>¡Todo vendido!</p>`;
            counter.innerHTML = textSoldOut;
            console.log("Sold out");
            clearInterval(interval);

        }else{
            var text = `¡${tickets} tickets Sold!`;
            contador.innerHTML = text;
            console.log(text)
        }

        const random = Math.floor(Math.random()*(200-100+1)+100);
        tickets += random;


        }, 10000);

事情是每次刷新页面时计数器再次从 35000 开始。我想弄清楚如何存储 var 票。我想这将通过使用localStorage来实现,但是由于我是JS的初学者,所以我无法做到。

其他选项是检查日期,并根据日期显示数字:

function date() {
            var d = new Date();
            var month = d.getMonth();
            var day = d.getDate();

            const counter = document.querySelector('.contador');
            const random = Math.floor(Math.random()*(200-100+1)+100);

            for (let i = 350000; i <= 60000 ; i++) {

                if (month == 0 & day == 28) {
                    var sum = i + random;
                    document.getElementById("contador").innerHTML = suma;
                }else if (mes == 0 & dia == 30) {
                    ...
                } else if (...){
                    ...
                }

            }

            document.getElementById("dia").innerHTML = dia;
            document.getElementById("mes").innerHTML = mes;
        }

        fecha();

有人可以帮助我得出结果吗? 非常感谢

可通过 localStorage 属性 访问的 Storage 对象提供了两种保存或检索数据的方法:setItemgetItem()

用法很简单。如果您想将票数保存到 localStorage 上的 myTickets 键中,您必须这样做:

localStorage.setItem("myTickets", tickets);

稍后检索该数据:

localStorage.getItem("myTickets");

您只需确保在 setinterval 回调函数中增加票证数量时更新 localStorage 上的 myTickets 键。

let tickets = 35000;
if (localStorage.getItem("myTickets") == null) {
  localStorage.setItem("myTickets", tickets);
} else {
  tickets = localStorage.getItem("myTickets");
}

const counter = document.querySelector('.counter');

let interval = setInterval(function() {
  console.log(tickets);

  if (tickets >= 60000) {

    var textSoldOut = `<p>¡Todo vendido!</p>`;
    counter.innerHTML = textSoldOut;
    console.log("Sold out");
    clearInterval(interval);

  } else {
    var text = `¡${tickets} tickets Sold!`;
    console.log(text)
  }

  const random = Math.floor(Math.random() * (200 - 100 + 1) + 100);
  tickets += random;
  localStorage.setItem("myTickets", tickets);

}, 10000);