我正在尝试存储一个名为的变量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 回答
![?](http://img1.sycdn.imooc.com/5458626a0001503602200220-100-100.jpg)
肥皂起泡泡
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);
添加回答
举报
0/150
提交
取消