parent
75eef410b0
commit
781f17ab77
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,77 @@
|
|||||||
|
let timerInterval;
|
||||||
|
const timerDisplay = document.getElementById('timerDisplay');
|
||||||
|
const secondsDisplay = document.getElementById('secondsDisplay');
|
||||||
|
const startButton = document.getElementById('startTimer');
|
||||||
|
const resetButton = document.getElementById('resetTimer');
|
||||||
|
const pauseButton = document.getElementById('pauseTimer');
|
||||||
|
|
||||||
|
// Funktion zum Anzeigen der Zeit
|
||||||
|
function displayTime(seconds) {
|
||||||
|
const hours = Math.floor(seconds / 3600);
|
||||||
|
const minutes = Math.floor((seconds % 3600) / 60);
|
||||||
|
const secs = seconds % 60;
|
||||||
|
timerDisplay.textContent =
|
||||||
|
String(hours).padStart(2, '0') + ":" +
|
||||||
|
String(minutes).padStart(2, '0');
|
||||||
|
secondsDisplay.textContent =
|
||||||
|
":" +
|
||||||
|
String(secs).padStart(2, '0');
|
||||||
|
}
|
||||||
|
|
||||||
|
function timerIsRunning() {
|
||||||
|
document.getElementById('startTimer').classList.add('d-none')
|
||||||
|
document.getElementById('pauseTimer').classList.remove('d-none')
|
||||||
|
document.getElementById('resetTimer').classList.remove('d-none')
|
||||||
|
document.getElementById('timerDisplay').style.color = 'rgb(131,169,96)'
|
||||||
|
}
|
||||||
|
|
||||||
|
function timerIsReset() {
|
||||||
|
document.getElementById('startTimer').classList.remove('d-none')
|
||||||
|
document.getElementById('pauseTimer').classList.add('d-none')
|
||||||
|
document.getElementById('resetTimer').classList.add('d-none')
|
||||||
|
document.getElementById('timerDisplay').style.color = 'black'
|
||||||
|
}
|
||||||
|
|
||||||
|
function timerIsPause() {
|
||||||
|
document.getElementById('startTimer').classList.remove('d-none')
|
||||||
|
document.getElementById('pauseTimer').classList.add('d-none')
|
||||||
|
document.getElementById('timerDisplay').style.color = 'rdb(43,100,110)'
|
||||||
|
}
|
||||||
|
|
||||||
|
// Timer starten und Startzeit im localStorage speichern
|
||||||
|
startButton.addEventListener('click', () => {
|
||||||
|
const startTime = Date.now();
|
||||||
|
localStorage.setItem('startTime', startTime);
|
||||||
|
timerIsRunning();
|
||||||
|
startTimer(startTime);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Timer zurücksetzen und Speicher leeren
|
||||||
|
resetButton.addEventListener('click', () => {
|
||||||
|
clearInterval(timerInterval);
|
||||||
|
localStorage.removeItem('startTime');
|
||||||
|
timerIsReset();
|
||||||
|
displayTime(0);
|
||||||
|
});
|
||||||
|
|
||||||
|
pauseButton.addEventListener('click', () => {
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
// Timer-Funktion, die die vergangene Zeit seit dem Start berechnet
|
||||||
|
function startTimer(startTime) {
|
||||||
|
clearInterval(timerInterval); // Vorherigen Timer stoppen, falls vorhanden
|
||||||
|
timerInterval = setInterval(() => {
|
||||||
|
const elapsedSeconds = Math.floor((Date.now() - startTime) / 1000);
|
||||||
|
displayTime(elapsedSeconds);
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Überprüfen, ob ein Timer beim Laden der Seite bereits läuft
|
||||||
|
window.addEventListener('load', () => {
|
||||||
|
const savedStartTime = localStorage.getItem('startTime');
|
||||||
|
if (savedStartTime) {
|
||||||
|
startTimer(parseInt(savedStartTime));
|
||||||
|
timerIsRunning();
|
||||||
|
}
|
||||||
|
});
|
||||||
Loading…
Reference in new issue