Javascript 如何将一个数字保存到localStorage中,每次用户输入一个新数字时,该数字都会递增?

Javascript 如何将一个数字保存到localStorage中,每次用户输入一个新数字时,该数字都会递增?,javascript,local-storage,savestate,Javascript,Local Storage,Savestate,我很难理解这个问题。我制作了一个小的Javascript程序,用户在其中输入一个数字并显示一个百分比。它还显示输入的数字总数。我试图在用户每次查看页面时显示该总数。我想使用localStorage保存号码,并在用户每次访问页面时将其显示在屏幕上 这里是jsfiddle演示。问题是我不知道如何增加保存的数字。我希望每次单击“计算”按钮时添加分钟数 以下是我目前的代码: var decent = 1200; var master = 600000; var minutes; var decentO

我很难理解这个问题。我制作了一个小的Javascript程序,用户在其中输入一个数字并显示一个百分比。它还显示输入的数字总数。我试图在用户每次查看页面时显示该总数。我想使用localStorage保存号码,并在用户每次访问页面时将其显示在屏幕上

这里是jsfiddle演示。问题是我不知道如何增加保存的数字。我希望每次单击“计算”按钮时添加分钟数

以下是我目前的代码:

var decent = 1200;
var master = 600000;
var minutes;
var decentOriginal;
var masterOriginal;
var totalDecent=0;
var totalMaster=0;
var decentLeft= 1200;
var masterLeft= 600000;
var totalMin = 0;

function compute() {
    minutes = document.getElementById('userInput').value;
    decentOriginal = minutes/decent * 100;
    masterOriginal = minutes/master * 100;
    updatePercent();
    localStorage.time = localStorage.num + minutes;
    document.getElementById('storage').innerHTML = localStorage.time + " minutes";
}

function updatePercent() {
var decentPercent = document.getElementById('decent-percent');
var masterPercent = document.getElementById('master-percent');
var decentCompute = Math.round(decentOriginal*100)/100;
var masterCompute = Math.round(masterOriginal*100)/100;
decentLeft = decentLeft - minutes;
masterLeft = masterLeft - minutes;  
    totalDecent = totalDecent + decentCompute;
    totalMaster = totalMaster + masterCompute;
    totalMin = Math.round(totalMin + parseInt(minutes)/60);
    if(decentLeft<=0) {
        totalDecent = 100;
        decentLeft = 0;
        decentCompute = 0;  
    } 
    if(masterLeft<=0) {
        totalMaster = 100;
        masterLeft = 0;
        masterCompute = 0;
    }
    if(totalMin>=600000) {
        totalMin=600000;
    }


    decentPercent.innerHTML = totalDecent.toFixed(1) + "%" + " " + decentLeft + " minute(s) to go.";
    masterPercent.innerHTML = totalMaster.toFixed(2) + "%"  " " + masterLeft + " minute(s) to go.";
    document.getElementById('total-min').innerHTML = totalMin+" hours spent.";
}
var=1200;
var master=600000;
var分钟;
中央轴向量;
原稿;
var=0;
var totalMaster=0;
var decentLeft=1200;
var masterLeft=600000;
var totalMin=0;
函数compute(){
分钟数=document.getElementById('userInput')。值;
decentOriginal=分钟/体面*100;
原件=分钟/原件*100;
updatePercent();
localStorage.time=localStorage.num+minutes;
document.getElementById('storage').innerHTML=localStorage.time+“分钟”;
}
函数updatePercent(){
var-decentPercent=document.getElementById('decent-percent');
var masterPercent=document.getElementById('master-percent');
var DecentComputer=数学整数(decentOriginal*100)/100;
var masterCompute=数学四舍五入(masterOriginal*100)/100;
decentLeft=decentLeft-分钟;
masterLeft=masterLeft-分钟;
TotalDelegate=TotalDelegate+DecentComputer;
totalMaster=totalMaster+masterCompute;
totalMin=Math.round(totalMin+parseInt(分钟)/60);

如果(decentLeft您在多个位置假设变量是一个数字,而实际上它是一个字符串

使用parseInt将值用作数字

在这里:

在这里:

localStorage["time"] = (parseInt(localStorage["time"]) || 0) + minutes;
document.getElementById('storage').innerHTML = localStorage["time"] + " minutes";
这是一个有变化的例子


请注意,|parseInt后面的|部分用于解析返回一个NaN

的情况,您在多个位置假设变量是一个数字,而实际上它是一个字符串

使用parseInt将值用作数字

在这里:

在这里:

localStorage["time"] = (parseInt(localStorage["time"]) || 0) + minutes;
document.getElementById('storage').innerHTML = localStorage["time"] + " minutes";
这是一个有变化的例子


请注意,|之后的|部分用于当解析返回一个NaN

时的情况。您对它有什么疑问?它做错了什么?Javascript控制台中是否有任何错误?您能做一个小提琴来演示它吗?什么是
localStorage.num
?这不应该是
localSto吗rage.time
?你对此有什么问题?它做错了什么,Javascript控制台中有错误吗?你能做一个小提琴来演示它吗?什么是
localStorage.num
?那不应该是
localStorage.time
?非常感谢。这个问题让我发疯了。非常感谢。这个问题让我发疯我疯了。