Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dinhotaswolf

Problemas com Date() no javascript

Recommended Posts

var segAntes;
var segDepois;
var minAntes;
var minDepois;
var horAntes;
var horDepois;
var tudoAntes; 
var tudoDepois;
var tudoTemp;
var segTemp = -1;
var minTemp = "0"+0;
var horTemp = "0"+0;

function comeca() {
var hoje = new Date()
segAntes = hoje.getSeconds()
minAntes = hoje.getMinutes()
horAntes = hoje.getHours()

str_segAntes = new String (segAntes) 
if (str_segAntes.length == 1) 
segAntes = "0" + segAntes 

str_minAntes = new String (minAntes) 
if (str_minAntes.length == 1) 
minAntes = "0" + minAntes 

str_horAntes = new String (horAntes) 
if (str_horAntes.length == 1) 
horAntes = "0" + horAntes

tudoAntes = "" + horAntes + ":" + minAntes + ":" + segAntes + ""
document.all["enter"].innerHTML=tudoAntes
}

function termina() {
var ago = new Date()
segDepois = ago.getSeconds()
minDepois = ago.getMinutes()
horDepois = ago.getHours()

str_segDepois = new String (segDepois) 
if (str_segDepois.length == 1) 
segDepois = "0" + segDepois 

str_minDepois = new String (minDepois) 
if (str_minDepois.length == 1) 
minDepois = "0" + minDepois 

str_horDepois = new String (horDepois) 
if (str_horDepois.length == 1) 
horDepois = "0" + horDepois

tudoDepois = "" + horDepois + ":" + minDepois + ":" + segDepois + ""
document.all["outUsr"].innerHTML=tudoDepois
}

function conta() {
segTemp++;
if(segTemp==60){segTemp=0;minTemp++;
if(minTemp<=9)minTemp="0"+minTemp;
}
if(minTemp==60){minTemp="0"+0;horTemp++;
if(horTemp<=9)horTemp="0"+horTemp;
}
if(segTemp<=9)segTemp="0"+segTemp;

tudoTemp = "" + horTemp + ":" + minTemp + ":" + segTemp + ""
document.all["tempo"].innerHTML=tudoTemp
}

function mostra() {
alert(" Entrada: " + tudoAntes + " \n\ Saida: " + tudoDepois + " \n\ Tempo: " + tudoTemp + "");
}

function atual(){
termina()
conta()
setTimeout("atual()",1000)
}

O código acima funciona bem, meu problema é que não sei como interromper o relógio quando mostro a contagem certa.

 

Assim que mostro a contagem do tempo transcorrido o relógio volta a contar.

 

Gostaria que a contagem fosse interrompida, assim que mostrar a contagem do tempo.

 

Fico no aguardo de sugestões.

 

Grato pela atenção,

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o setInterval e o clearInterval

 

 

function atual(){
termina()
conta()
}
vat interval = setInterval("atual()",1000);

 

no momento que você quiser que termine você faz

 

clearInteval(interval);

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Otata, testei sua sugestão e não funcionou.

 

Aí decidi criar a função limpar() e chamar no onclick do botão parar e consegui paralizar a contagem.

 

Código referente ao trecho:

	function limpa(){
 		atual = setTimeout("atual()",1000)
 	}

Porém, agora estou com outro problema. Se clico no botão para reiniciar a contagem ele atualiza a hora entrada, mas não reinicia a contagem. Como devo proceder para reiniciar com a hora atual.

 

Estou pensando em atualizar a página e chamar a função atual().Estou pensando em algo assim:

	function reiniciar(){
	var button = $post('fim')

	if (button)
		history.go(0);
		atual();
	}
}

Esse código está sendo chamado pelo método onClick no botão iniciar.

 

Testei esse código e não funcionou o que pode estar errado?

 

Fico no aguardo de sugestões.

 

Grato pela atenção e ajuda,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.