计数器需要坚持记住最后一个数字
counter need persist to remember the last number
我找到了这个 fiddle:
https://jsfiddle.net/DinoMyte/sac63azn/3/
https://fiddle.jshell.net/DinoMyte/sac63azn/3/show/
var num = 10000000;
setInterval(function()
{
num++;
console.log(num);
$('div').text(num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","));
},6000);
它几乎按照我想要的方式工作。它是一个计数器,每 6 秒,它会将数字加 1。例如:数字从 10,000,000 开始,然后每 6 秒,它向数字添加 1。问题是当用户刷新或重新加载页面时,该数字恢复到原来的 10,000,000。如果刷新或重新加载后,是否有可能保存上次的号码?坚持?例如:数字现在是 10,000,008,6 秒后是 10,000,009,然后用户点击离开或刷新或重新加载页面,它应该记住最后一个数字停止的地方:10,000,009 并从那里开始计数。
您可以将 var num 值设置为 javascript cookie。您可以使用以下 javascript 代码来创建、读取或删除 cookie val
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
因此,在您的情况下,您可以像这样保留 num 值
var num = 10000000;
setInterval(function()
{
num++;
createCookie('persist_num', num, 1);
console.log(readCookie('persist_num'));
$('div').text(num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","));
},600);
您可以使用 localStorage
来实现。
只需使用此代码
var num = localStorage.getItem('evaluatedTimer') || 10000000;
setInterval(function()
{
num++;
console.log(num);
var currentTimer = num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
localStorage.setItem('evaluatedTimer', currentTimer');
$('div').text(currentTimer );
},6000);
我找到了这个 fiddle: https://jsfiddle.net/DinoMyte/sac63azn/3/
https://fiddle.jshell.net/DinoMyte/sac63azn/3/show/
var num = 10000000;
setInterval(function()
{
num++;
console.log(num);
$('div').text(num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","));
},6000);
它几乎按照我想要的方式工作。它是一个计数器,每 6 秒,它会将数字加 1。例如:数字从 10,000,000 开始,然后每 6 秒,它向数字添加 1。问题是当用户刷新或重新加载页面时,该数字恢复到原来的 10,000,000。如果刷新或重新加载后,是否有可能保存上次的号码?坚持?例如:数字现在是 10,000,008,6 秒后是 10,000,009,然后用户点击离开或刷新或重新加载页面,它应该记住最后一个数字停止的地方:10,000,009 并从那里开始计数。
您可以将 var num 值设置为 javascript cookie。您可以使用以下 javascript 代码来创建、读取或删除 cookie val
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
因此,在您的情况下,您可以像这样保留 num 值
var num = 10000000;
setInterval(function()
{
num++;
createCookie('persist_num', num, 1);
console.log(readCookie('persist_num'));
$('div').text(num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","));
},600);
您可以使用 localStorage
来实现。
只需使用此代码
var num = localStorage.getItem('evaluatedTimer') || 10000000;
setInterval(function()
{
num++;
console.log(num);
var currentTimer = num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
localStorage.setItem('evaluatedTimer', currentTimer');
$('div').text(currentTimer );
},6000);