-
Notifications
You must be signed in to change notification settings - Fork 0
/
scripts.js
71 lines (60 loc) · 1.86 KB
/
scripts.js
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
60
61
62
63
64
65
66
67
68
69
70
71
(function () {
"use strict";
let hh = 0,
mm = 0,
ss = 0,
ms = 0,
time = 10,
cron,
btnStart = document.getElementById('btn-start'),
btnPause = document.getElementById('btn-pause'),
btnStop = document.getElementById('btn-stop'),
counter = document.getElementById('counter');
function timer() {
ms++;
if (ms == 100) {
ms = 0;
ss++;
if (ss == 60) {
ss = 0;
mm++;
if (mm == 60) {
mm = 0;
hh++;
}
}
}
let hhFormat = hh > 0 ? hh + ':' : '',
mmFormat = mm.toString().padStart(2, '0'),
ssFormat = ss.toString().padStart(2, '0'),
msFormat = ms.toString().padStart(2, '0'),
timeFormat = `${hhFormat}${mmFormat}:${ssFormat}<span> ${msFormat}</span>`;
counter.innerHTML = timeFormat;
return timeFormat;
}
btnStart.addEventListener('click', function () {
cron = setInterval(() => { timer(); }, time);
btnStart.classList.add('hidden');
btnPause.classList.remove('hidden');
btnStop.classList.add('hidden');
btnStart.title = 'Continue';
});
btnPause.addEventListener('click', function () {
clearInterval(cron);
btnStart.classList.remove('hidden');
btnPause.classList.add('hidden');
btnStop.classList.remove('hidden');
});
btnStop.addEventListener('click', function () {
clearInterval(cron);
hh = 0;
mm = 0;
ss = 0;
ms = 0;
counter.innerText = '00:00:00';
btnStart.classList.remove('hidden');
btnPause.classList.add('hidden');
btnStop.classList.add('hidden');
btnStart.title = 'Start';
});
}());