为了账号安全,请及时绑定邮箱和手机立即绑定

尝试在点击器网站中存储数据

尝试在点击器网站中存储数据

海绵宝宝撒 2021-11-04 16:13:32
我正在尝试存储一个名为的变量score,无论您何时刷新,您都会一次又一次地使用该变量。我无法弄清楚的是代码是什么。我尝试了一些方法,但它们似乎都不起作用。这是我的点击器网站。但是当我尝试使用 JavaScript 来存储它时,它不能与window.onload和 以及onload=. 另外我的负载可能是正确的,因为我有一个score = data带有document.getElementById('points').innerHTML = score;.我的代码如下所示:var score = 0;setInterval(SaveData, 10);setInterval(Click, 1000); // Every full second allow clicking ONE point.function Click() {  score++;  document.getElementById('btn').onclick = function() {    document.getElementById('demo').innerHTML = score;    clearInterval(Click);  }}function SaveData() {  // What saves the variable score  localStorage['save'] = btoa(JSON.stringify(score));}function LoadData() {  score = JSON.parse(atob(localStorage['save']))  document.getElementById('demo').innerHTML = score;}window.onload = function() {  // When the window loads do this  LoadData();};
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

更改此行SaveData():


localStorage['save'] = btoa(JSON.stringify(score));

对此:


localStorage.setItem('save', btoa(JSON.stringify(score)));

和这一行LoadData():


score = JSON.parse(atob(localStorage['save']))

对此:


score = JSON.parse(atob(localStorage.getItem('save')));

此外,无需每次点击更新事件。您可以将该代码移出Click()函数:


document.getElementById('btn').onclick = function() {

  document.getElementById('demo').innerHTML = score;

  clearInterval(Click);

}


function Click() {

  score++;

}

并且您传递给clearInterval()您从中获取的 ID 值setInterval(),而不是函数引用。就像是:


var timer = setInterval(Click, 1000);

clearInterval(timer);


查看完整回答
反对 回复 2021-11-04
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信