-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
78 lines (63 loc) · 2.86 KB
/
main.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
74
75
76
77
78
const botoes = document.querySelectorAll(".botao");
const textos = document.querySelectorAll(".aba-conteudo");
//iterando (percorrer elementos de uma lista) sobre a lista de botoes
for (let i = 0; i < botoes.length; i++) {
botoes[i].onclick = function () {
for (let j = 0; j < botoes.length; j++) {
botoes[j].classList.remove("ativo");
textos[j].classList.remove("ativo");
}
botoes[i].classList.add("ativo");
textos[i].classList.add("ativo");
}
}
//document.querySelector("#minhaDiv p").textContent = "Olá Chuva!";
const contadores = document.querySelectorAll(".contador");
const tempoObjetivo1 = new Date("2024-04-19T00:00:00"); // formato de data padrao com hifem e um T para tempo
const tempoObjetivo2 = new Date("2024-07-07T00:00:00");
const tempoObjetivo3 = new Date("2024-04-27T00:00:00");
const tempoObjetivo4 = new Date("2024-04-23T00:00:00");
const tempos = [tempoObjetivo1, tempoObjetivo2, tempoObjetivo3, tempoObjetivo4];
function calculaTempo(tempoObjetivo) {
const tempoAtual = new Date(); //retorna data atual do computador
let tempofinal = tempoObjetivo - tempoAtual;
let segundos = Math.floor(tempofinal / 1000);
let minutos = Math.floor(segundos / 60);
let horas = Math.floor(minutos / 60);
let dias = Math.floor(horas / 24);
segundos %= 60; // sinal de porcentagem traz o resto da divisao
minutos %= 60;
horas %= 24;
let contador = `<div class="contador-digito">
<p class="contador-digito-numero"> ${dias}</p>
<p class="contador-digito-texto"> dias </p>
</div>
<div class="contador-digito">
<p class="contador-digito-numero"> ${horas}</p>
<p class="contador-digito-texto"> horas </p>
</div>
<div class="contador-digito">
<p class="contador-digito-numero"> ${minutos}</p>
<p class="contador-digito-texto"> minutos </p>
</div>
<div class="contador-digito">
<p class="contador-digito-numero"> ${segundos}</p>
<p class="contador-digito-texto"> segundos </p>
</div> `
if (tempofinal > 0){
return contador
} else{
return "Prazo Finalizado!"
}
}
function atualizaCronometro() {
for (let i = 0; i < contadores.length; i++) {
contadores[i].innerHTML = calculaTempo(tempos[i]);
}
}
function comecaCronometro() {
atualizaCronometro();
setInterval(atualizaCronometro, 1000); // 1000 por que em um segundo tem 1000 milissegundos
}
comecaCronometro();
// o return tem a função de interromper uma funcao... se a coisa for verdadeira, ele nem busca o resto...