-
Notifications
You must be signed in to change notification settings - Fork 98
Expand file tree
/
Copy pathindex.js
More file actions
59 lines (53 loc) · 1.78 KB
/
index.js
File metadata and controls
59 lines (53 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
const chronometer = new Chronometer();
// Target DOM elements
const btnLeft = document.getElementById('btnLeft');
const btnRight = document.getElementById('btnRight');
const minDec = document.getElementById('minDec');
const minUni = document.getElementById('minUni');
const secDec = document.getElementById('secDec');
const secUni = document.getElementById('secUni');
const splits = document.getElementById('splits');
// Update display
function printTime() {
const minutes = chronometer.computeTwoDigitNumber(chronometer.getMinutes());
const seconds = chronometer.computeTwoDigitNumber(chronometer.getSeconds());
minDec.innerHTML = minutes[0];
minUni.innerHTML = minutes[1];
secDec.innerHTML = seconds[0];
secUni.innerHTML = seconds[1];
}
// Handle left button click (Start/Stop)
btnLeft.addEventListener('click', () => {
if (btnLeft.classList.contains('start')) {
// Start the chronometer
chronometer.start(printTime);
btnLeft.innerHTML = 'STOP';
btnLeft.className = 'btn stop';
btnRight.innerHTML = 'SPLIT';
btnRight.className = 'btn split';
} else {
// Stop the chronometer
chronometer.stop();
btnLeft.innerHTML = 'START';
btnLeft.className = 'btn start';
btnRight.innerHTML = 'RESET';
btnRight.className = 'btn reset';
}
});
// Handle right button click (Split/Reset)
btnRight.addEventListener('click', () => {
if (btnRight.classList.contains('split')) {
// Create and append a split time
const splitTime = document.createElement('li');
splitTime.className = 'list-item';
splitTime.innerHTML = chronometer.split();
splits.appendChild(splitTime);
} else {
// Reset the chronometer
chronometer.reset();
printTime();
splits.innerHTML = ''; // Clear all split times
}
});
// Initialize the display
printTime();