Skip to content

Commit 8cd6d48

Browse files
committed
alarmclock
1 parent de6889c commit 8cd6d48

1 file changed

Lines changed: 38 additions & 1 deletion

File tree

‎Sprint-3/alarmclock/alarmclock.js‎

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,41 @@
1-
function setAlarm() {}
1+
let timer;
2+
3+
function setAlarm() {
4+
const input = document.getElementById("alarmSet");
5+
const heading = document.getElementById("timeRemaining");
6+
7+
let timeRemaining = Number(input.value);
8+
9+
function formatTime(totalSeconds) {
10+
const minutes = Math.floor(totalSeconds / 60);
11+
const seconds = totalSeconds % 60;
12+
13+
return `Time Remaining: ${String(minutes).padStart(2, "0")}:${String(
14+
seconds
15+
).padStart(2, "0")}`;
16+
}
17+
18+
// Show starting time
19+
heading.innerText = formatTime(timeRemaining);
20+
21+
// Stop an existing timer
22+
clearInterval(timer);
23+
24+
timer = setInterval(() => {
25+
timeRemaining--;
26+
27+
if (timeRemaining <= 0) {
28+
timeRemaining = 0;
29+
heading.innerText = formatTime(timeRemaining);
30+
31+
clearInterval(timer);
32+
playAlarm();
33+
return;
34+
}
35+
36+
heading.innerText = formatTime(timeRemaining);
37+
}, 1000);
38+
}
239

340
// DO NOT EDIT BELOW HERE
441

0 commit comments

Comments
 (0)