海綿寶寶撒
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);
添加回答
舉報
0/150
提交
取消
