Moin zusammen,
ich habe mich mal extra für die Frage bei euch im Forum angemeldet, da ich leider nicht mehr weiter weiß.
Wir sollen von der Schule auf der Webseite Code.org unser eigene App zusammenbasteln und verwendet wird dafür Javascript. Ich habe mir ein Fitness-App aufgebaut, in der man zwischen Cardio und Kraftsport auswählen kann und man seine Ergebnisse speichern kann. Beim Cardio-Bereich wollte ich zusätzlich noch eine Stoppuhr einfügen. Die funktioniert auch soweit, aber das Problem ist, das bei mir der Text zwar bei Stop pausiert und beim Reset auch resettet wird, die Zeit läuft im Hintergrund allerdings immer weiter. D.h. wenn ich den Start Button anschließend wieder klicke, dann läuft die Zeit einfach immer weiter.
Ich sitze seit dem Wochenende dran das Problem zu lösen und habe mir auch diverse Tutorials dazu durchgelesen, habe bisher aber keine Lösung gefunden und weiß auch nicht mehr was ich sonst machen soll. Deshalb hoffe ich das mir hier jemand dabei weiterhelfen kann.
Unten ist einmal der Code für die Stoppuhr, die hatte ich mir nämlich in einem eigenen Projekt nochmal aufgebaut und versucht zu lösen ohne irgendetwas im Hauptprogramm kaputt zu machen. Sorry auch für die Unordnung, ich hab das Step by Step aufgebaut und auch eigentlich gar keine Ahnung von sowas.
Also hoffentlich kann mir wer weiterhelfen. Vielen Dank schon einmal für eure Vorschläge.
_________________________________________
//Stoppuhr anzeigen
var elapsedTime, aktuelleZeit, milliseconds = 0, seconds = 0, minutes = 0, hours = 0, time;
var zeit = new Date();
time = hours+":"+minutes+":"+seconds+":"+milliseconds;
setText("label_timer", time);
//Stoppuhr Funktionen
var i = 0;
var statusTimer = false;
function calculateTimer() {
aktuelleZeit = new Date();
elapsedTime = new Date (aktuelleZeit - zeit);
milliseconds = elapsedTime.getMilliseconds();
seconds = elapsedTime.getSeconds();
minutes = elapsedTime.getMinutes();
hours = elapsedTime.getHours() -1;
time = hours+":"+minutes+":"+seconds+":"+milliseconds;
setText("label_timer", time);
}
function startTimer() {
setProperty("button_work", "text", "Timer stoppen");
statusTimer = true;
}
function updateTimer() {
i = setInterval(calculateTimer, 1);
}
function stopTimer() {
clearInterval(i);
statusTimer = false;
//Timer Zeit bei Stop speichern
setProperty("button_work", "text", "Timer starten");
}
function resetTimer() {
milliseconds = 0, seconds = 0, minutes = 0, hours = 0;
time = hours+":"+minutes+":"+seconds+":"+milliseconds;
setText("label_timer", time);
}
//Stoppuhr starten und stoppen
onEvent("button_work", "click", function() {
if (statusTimer === false) {
updateTimer();
startTimer();
} else {
stopTimer();
}
});
//Stoppuhr resetten
onEvent("button_reset", "click", function() {
resetTimer();
});