Tempos atrás, no decorrer do desenvolvimento de um sistema web, o cliente solicitou que houvesse um contador regressivo de quanto tempo faltava para que o sistema efetuasse determinada ação.
Depois de quebrar a cabeça cheguei até o script abaixo
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 | function atualizaContador(YY,MM,DD,HH,MI,saida) {var SS = 00; //Segundosvar hoje = new Date(); //Diavar futuro = new Date(YY,MM-1,DD,HH,MI,SS); //Data limite do contadorvar ss = parseInt((futuro - hoje) / 1000); //Determina a quantidade total de segundos que faltamvar mm = parseInt(ss / 60); //Determina a quantidade total de minutos que faltamvar hh = parseInt(mm / 60); //Determina a quantidade total de horas que faltamvar dd = parseInt(hh / 24); //Determina a quantidade total de dias que faltamss = ss - (mm * 60); //Determina a quantidade de segundosmm = mm - (hh * 60); //Determina a quantidade de minutoshh = hh - (dd * 24); //Determina a quantidade de horas//O bloco abaixo descreve monta o que vai ser escrito na telavar faltam = '';faltam += (dd && dd > 1) ? dd+' dias, ' : (dd==1 ? '1 dia, ' : '');faltam += (toString(hh).length) ? hh+':' : '';faltam += (toString(mm).length) ? mm+':' : '';faltam += ss;if (dd+hh+mm+ss > 0) {document.getElementById(saida).innerHTML = faltam;//INsere o conteudo da variável faltam na página.setTimeout(function(){atualizaContador(YY,MM,DD,HH,MI,saida)},1000);//Reinicia a função a cada um segundo} else {document.getElementById(saida).innerHTML = '';setTimeout(function(){atualizaContador(YY,MM,DD,HH,MI,saida)},1000);}} |
Agora para chamar na sua página, pode-se chamar de duas maneiras:
1 | <body onload="atualizaContador('2009','07','14','23','00','00','elementodedestino')"> |
OU
1 2 3 | <script type="text/javascript">window.onload=function(){atualizaContador('2009','07','14','23','00','00','elementodedestino');}</script> |
Eu prefiro utiliza a maneira acima utilizando o window.onload, pois acredito que torna a página mais arrumada e, ainda, podemos colocar no final da página, melhorando o carregamento da página.
Espero que seja util para vocês.
link
Download
