-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
75 lines (59 loc) · 1.73 KB
/
script.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
72
73
let cronometro = document.getElementById("display")
let iniciar = document.getElementById("btnIniciar")
let pausar = document.getElementById("btnPausar")
let reiniciar = document.getElementById("btnReiniciar")
let tempoInicial = 0;
let tempoDecorrido = 0;
let tempoAtual = 0;
let pausado = true;
let intervaloId;
let hrs = 0;
let mins = 0;
let segs = 0;
iniciar.addEventListener("click", () => {
if(pausado){
pausado = false;
tempoInicial = Date.now() - tempoDecorrido;
intervaloId = setInterval(updateTime, 75);
}
});
pausar.addEventListener("click", () => {
if(!pausado){
pausado = true;
tempoDecorrido = Date.now() - tempoInicial;
clearInterval(intervaloId);
}
});
reiniciar.addEventListener("click", () => {
pausado = true;
clearInterval(intervaloId);
tempoInicial = 0;
tempoAtual = 0;
tempoDecorrido = 0;
hrs = 0;
mins = 0;
segs = 0;
cronometro.textContent = "00:00:00";
});
function updateTime(){
tempoDecorrido = Date.now() - tempoInicial;
segs = Math.floor((tempoDecorrido / 1000) % 60 );
mins = Math.floor((tempoDecorrido / (1000*60)) % 60 );
hrs = Math.floor((tempoDecorrido / (1000 * 60 * 60)) % 60 );
segs = preenchimento(segs);
mins = preenchimento(mins);
hrs = preenchimento(hrs);
cronometro.textContent = `${hrs}:${mins}:${segs}`;
function preenchimento(unidade){
return (("0") + unidade).length > 2 ? unidade : "0" + unidade;
}
}
// iniciar.addEventListener("click", ()=>{
// console.log("Iniciando...")
// })
// pausar.addEventListener("click", ()=>{
// console.log("Pausando...")
// })
// reiniciar.addEventListener("click", ()=>{
// console.log("Reiniciando...")
// })