根据 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 对象提供了两种保存或检索数据的方法:setItem
和 getItem()
。
用法很简单。如果您想将票数保存到 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);
我在努力弄清楚如何根据日期或时间(使用 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 对象提供了两种保存或检索数据的方法:setItem
和 getItem()
。
用法很简单。如果您想将票数保存到 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);