Skip to content

Commit 3135818

Browse files
committed
done building alarm clock app
1 parent 4222cda commit 3135818

2 files changed

Lines changed: 52 additions & 1 deletion

File tree

‎Sprint-3/alarmclock/alarmclock.js‎

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,53 @@ function pauseAlarm() {
2323
}
2424

2525
window.onload = setup;
26+
27+
const timeRemainingElement = document.querySelector("#timeRemaining");
28+
const alarmSetElement = document.querySelector("#alarmSet");
29+
const setButtonElement = document.querySelector("#set");
30+
const stopButtonElement = document.querySelector("#stop");
31+
const bodyElement = document.querySelector("body");
32+
const alarmSoundElement = document.querySelector("#alarmSound");
33+
34+
let remainingTime;
35+
let intervalID;
36+
function triggerAlarm() {
37+
bodyElement.style.backgroundColor = "yellow";
38+
alarmSoundElement.play();
39+
}
40+
function setAlarm() {
41+
clearInterval(intervalID);
42+
const alarmTime = alarmSetElement.value;
43+
remainingTime = Number(alarmTime);
44+
const showTimeMinutes = Math.floor(remainingTime / 60)
45+
.toString()
46+
.padStart(2, "0");
47+
const showTimeSeconds = (remainingTime % 60).toString().padStart(2, "0");
48+
timeRemainingElement.innerText = showTimeMinutes + ":" + showTimeSeconds;
49+
if (remainingTime === 0) {
50+
triggerAlarm();
51+
} else {
52+
intervalID = setInterval(countDown, 1000);
53+
}
54+
}
55+
setButtonElement.addEventListener("click", setAlarm);
56+
function countDown() {
57+
if (remainingTime <= 0) {
58+
clearInterval(intervalID);
59+
triggerAlarm();
60+
return;
61+
}
62+
remainingTime -= 1;
63+
const remainingMinutes = Math.floor(remainingTime / 60)
64+
.toString()
65+
.padStart(2, "0");
66+
const remainingSeconds = (remainingTime % 60).toString().padStart(2, "0");
67+
timeRemainingElement.innerText = remainingMinutes + ":" + remainingSeconds;
68+
}
69+
function stopAlarm() {
70+
clearInterval(intervalID);
71+
alarmSoundElement.pause();
72+
alarmSoundElement.currentTime = 0;
73+
bodyElement.style.backgroundColor = "";
74+
}
75+
stopButtonElement.addEventListener("click", stopAlarm);

‎Sprint-3/alarmclock/index.html‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
66
<link rel="stylesheet" href="style.css" />
7-
<title>Title here</title>
7+
<title>Alarm clock app</title>
88
</head>
99
<body>
1010
<div class="centre">
1111
<h1 id="timeRemaining">Time Remaining: 00:00</h1>
1212
<label for="alarmSet">Set time to:</label>
1313
<input id="alarmSet" type="number" />
14+
<audio id="alarmSound" src="alarmsound.mp3" loop></audio>
1415

1516
<button id="set" type="button">Set Alarm</button>
1617
<button id="stop" type="button">Stop Alarm</button>

0 commit comments

Comments
 (0)