In Javascript eine Funktion beenden?
Hallo zusammen,
ich habe ein kleine App "Eieruhr" geschrieben, wo man per Button einen Timer startet der 5 Minuten runterzählt und ein Alarm losgeht sobald die 5 Minuten um sind.
Problem: sobald der Timer runtergelaufen ist klingelt zwar der Alarm allerdings kriege ich es nicht hin, dass der Alarm z.B. nach 5 Sekunden aufhört zu klingeln - stattdessen läuft er ganze Zeit weiter bis man die App geschlossen hat.
Hat jemand eine Lösung von euch?
Code:
<script>
let alarm = new Audio('snd/alarm.wav');
let timerStarted = false;
function startTimer() {
if (!timerStarted) {
let startTime = new Date().getTime();
let fiveMinutes = 1000 * 60 * 5;
let endTime = startTime + fiveMinutes;
setInterval(function() {
let timeLeft = endTime - new Date().getTime();
if(timeLeft > 0){
let minutes = timeLeft / (1000 * 60);
minutes = Math.floor(minutes);
let seconds = (timeLeft / 1000) % 60;
seconds = Math.round(seconds);
seconds = ('0' + seconds).slice(-2);
let text = '0' + minutes + " : " + seconds;
timer.innerHTML = text;
} else {
alarm.play();
timer.innerHTML = '00 : 00';
5000;
}
}, 1000);
timerStarted = true;
}
}
</script>
Computer,
programmieren,
JavaScript