-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcronometro.js
67 lines (53 loc) · 1.33 KB
/
cronometro.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
const $hms = document.getElementById('hms')
const $start = document.querySelector('#start')
const $stop = document.querySelector('#stop')
const $reset = document.querySelector('#reset')
var s = "00";
var m = "00";
var h = "00";
const init = () => {
cronoTrigger = setInterval(start,1000)
$start.removeEventListener('click', init)
}
const start = () => {
s++
s = s.toString().padStart(2, '00')
if (s > 59){
s = "00"
m++
m = m.toString().padStart(2, '00')
}
if( m > 59){
m = "00"
h++
h = h.toString().padStart(2, '00')
}
if ( h > 24 ){
h = "00"
}
$hms.textContent = h+":"+m+":"+s
}
const stop = () => {
clearInterval(cronoTrigger)
$start.addEventListener('click', init)
}
const reset = () => {
clearInterval(cronoTrigger)
h = "00"
m = "00"
s = "00"
$start.addEventListener('click', init)
$hms.textContent = h+":"+m+":"+s
}
$start.addEventListener('click', init)
$stop.addEventListener('click', stop)
$reset.addEventListener('click', reset)
$start.addEventListener('click', (e) => {
e.target.classList.toggle('animation-click')
})
$stop.addEventListener('click', (e) => {
e.target.classList.toggle('animation-click')
})
$reset.addEventListener('click', (e) => {
e.target.classList.toggle('animation-click')
})