Wie speichere ich eine Nummer in localStorage, die jedes Mal erhöht wird, wenn der Benutzer eine neue Nummer eingibt?

Ich habe Probleme, mein Haupt um dieses Problem zu wickeln. Ich habe ein kleines Javascript-Programm erstellt, in das der Benutzer eine Zahl eingibt und das einen Prozentsatz anzeigt. Außerdem wird die Summe der eingegebenen Nummern angezeigt. Ich versuche, diese Summe jedes Mal anzuzeigen, wenn der Benutzer die Seite anzeigt. Ich möchte localStorage verwenden, um die Nummer zu speichern und sie jedes Mal auf dem Bildschirm anzuzeigen, wenn ein Benutzer die Seite besucht.

http://jsfiddle.net/uyr7Z/

Hier ist die jsfiddle-Demo. Das Problem ist, dass ich nicht herausfinden kann, wie ich eine gespeicherte Nummer erhöhen kann. Ich möchte, dass jedes Mal Minuten hinzugefügt werden, wenn auf die Schaltfläche "Berechnen" geklickt wird.

Hier ist mein Code soweit:

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.";
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage