Ir para conteúdo

POWERED BY:

Arquivado

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

Gilberto Jr

Cronometro Regressivo

Recommended Posts

Boa noite;

 

tenho esse código em javascript de um cronometro regressivo que esta funcionando perfeitamente.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cronometro Regressivo</title>
</head>

<body>
<script language="javascript">
        var YY = 2014; //ANO DO JOGO
        var MM = 09; //MES DO JOGO
        var DD = 09; // DIA DO JOGO
        var HH = 23;
        var MI = 59;
        var SS = 59;
                
  function atualizaContador() {
  var hoje = new Date();
  var futuro = new Date(YY,MM-1,DD,HH,MI,SS); 

  var ss = parseInt((futuro - hoje) / 1000);
  var mm = parseInt(ss / 60);
  var hh = parseInt(mm / 60);
  var dd = parseInt(hh / 24); 

  ss = ss - (mm * 60);
  mm = mm - (hh * 60);
  hh = hh - (dd * 24); 
  
if (ss < 10) {
    ss = "0"+ss;
} else {
   ss = ss;
}
if (mm < 10) {
    mm = "0"+mm;
} else {
   mm = mm;
}

if (hh < 10) {
    hh = "0"+hh;
} else {
   hh = hh;
}

  //var faltam = '';
  //faltam += (toString(hh).length) ? hh+':' : '';
  //faltam += (toString(mm).length) ? mm+':' : '';
  //faltam += ss+''; 
  
  	var 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('contador').innerHTML = faltam;
    setTimeout(atualizaContador,0);
  } else {
    document.getElementById('contador').innerHTML = 'ACABOU';
	document.getElementById("btnSalvarp").disabled = true;
    setTimeout(atualizaContador,0);
  }

}

</script>
<span id="contador"></span>

</body>
</html>

Agora o problema que estou tendo é como todos nos sabemos o javascript pega a data do computador. Ou seja, a do usuário como

new Date()

 

E nesse caso quando o cronometro chegar a 0 ele desabilita o botão salvar do meu formulário.

 

Ai tudo bem, mas analisando aqui se o cliente alterar a data do computador ou a hora o botão vai voltar a ficar habilitado.

 

Existe uma forma de eu pegar a data do servidor de onde o site esta hospedado e jogar a mesma no código javascript para fazer o calculo?

 

Sendo assim mesmo se o cliente fizer a alteração ele não vai conseguir salvar pois o botão salvar vai esta desabilitado.

 

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

use a função time e atribua o valor numa variável

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então

Gustavo Emygdio Barboza

Eu não estou conseguindo quebrar um asp dentro da [codigo]var hoje = new Date();[/codigo]

 

Achei esse código [codigo]

<script type="text/javascript">

var dteActualStartTime = new Date(<%=(DateDiff("s", date(), dteActualStartTime)* 1000)%>);
document.write(dteActualStartTime);
</script>
[/codigo]
Mas ele esta retornando a data Fri May 25 1855 21:00:00 GMT-0300 (Hora oficial do Brasil) mesmo eu alterando para Date() como mostra o código acima.
Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente é estranho mas então tente montar a data que quer com month(date) & "/" & day(date) & "/" & year(date)

 

e vê ai como vai ficar... mas essa data completa deve ser alguma configuração no servidor mas tente esse esquema pra ver se resolve...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

var hoje = new Date(<%=year(now)%>,<%=month(now)%>,<%=dayy(now)%>,<%=hour(now)%>,<%=minute(now)%>,<%=second(now)%>);

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gustavo Emygdio Barboza

Fazendo da forma que você disse aparece isso na tela Faltam 16323 dias, 02:59:59 e o cronometro parado.

Estou fazendo os teste na minha maquina, ou seja no localhost ainda.

 

E

xanburzum

fazendo da forma que você disse não aparece nada no tela.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa um plugin jquery, tipo o o FlipClock.js , com ele você pode criar um relógio animado, uma contagem regressiva ou um timer totalmente customizados. Existe uma opção para início automático e diversos métodos de controle.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por causa do formato!!

 

faça assim que funciona!! deixei igual ao futuro

 

var hoje = new Date('<%=year(date)%>','<%=month(date)%>','<%=day(date)%>','<%=hour(time)%>','<%=minute(time)%>','<%=second(time)%>','0');

 

sucesso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se eu fizer da forma que o

Gustavo Emygdio Barboza

disse ele pega somente as horas, o dia não mostra e o relógio fica parado.

 

Vou deixar dessa forma mesmo.

 

O que eu fiz, quando o usuário entrar no sistema para da palpite se a data do servidor for igual ou maior que data do jogo o sistema desabilita o botão pra salvar.

 

Sendo assim, o sistema tem o cronometro regressivo com javascript e desabilita o botão salvar tanto com javascript quando o tempo chegar a 0 e também via asp caso a data seja igual ou maior que a data do jogo.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu testei aqui e deste formato funcionou... vou ver se publico... para vc ver...


coloquei num hospedeiro free veja seu código

 

http://users3.jabry.com/gustavoemygdio/imasters/gilberto/regressivo.asp

 

regressivo é o dia 11 às 20:00

 

att;


nada feito estranho que mesmo que eu passe a hoje do servidor depois de interpretado pelo javascript é respeitado pela hoje do pc local... mas só funciona atrasando adiantando não... exatamente o que vc não quer... ainda for ficar tentando...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gustavo Emygdio Barboza

realmente esta funcionando.

 

Mas analisando o código tem duas variável com o nome hoje.

    var hoje = new Date('<%=year(date)%>','<%=month(date)%>','<%=day(date)%>','<%=hour(time)%>','<%=minute(time)%>','<%=second(time)%>','0');
  var hoje = new Date();

Se eu apagar a variável

var hoje = new Date();

Mostra a hora que falta e não mostra os dias e o cronometro fica parado.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça com a função time()

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.