Ir para conteúdo
Fórum Script Brasil
  • 0

Diferenca De Hora


hsimberg

Pergunta

Olá

Arrumei um countdown em Js, mas as datas se diferenciam dependendo se uso IE6 ou Firefox....

alguém sabe por que? a Diferenca é de mais de 10.000 dias, não pode ficar assim

Muito Obrigado

Hernandes

Ps: Se precisar ver, aqui ta a pagina: wjt.schoenstatt.de

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

No topo da pagina eu coloquei

<script src="cont_code.js" type="text/javascript"></script>
Onde eu queria que aparecesse o contador eu coloquei:
<script type="text/javascript">countdown_clock(05, 08, 07, 00, 00, 1);</script>
e o artigo cont_code.js é esse:
function countdown_clock(year, month, day, hour, minute, format)
        {
        //I chose a div as the container for the timer, but
        //it can be an input tag inside a form, or anything
        //who's displayed content can be changed through
        //client-side scripting.
        html_code = '<div id="countdown"></div>';
       
        document.write(html_code);
       
        countdown(year, month, day, hour, minute, format);                
        }
       
function countdown(year, month, day, hour, minute, format)
        {
        Today = new Date();
        Todays_Year = Today.getYear() - 2000;
        Todays_Month = Today.getMonth() + 1;                  
       
        //Convert both today's date and the target date into miliseconds.                          
        Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),
                                Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();                                
        Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();                  
       
        //Find their difference, and convert that into seconds.                  
        Time_Left = Math.round((Target_Date - Todays_Date) / 1000);
       
        if(Time_Left < 0)
           Time_Left = 0;
       
        switch(format)
              {
              case 0:
                   //The simplest way to display the time left.
                   document.all.countdown.innerHTML = Time_Left + ' seconds';
                   break;
              case 1:
                   //More datailed.
                   days = Math.floor(Time_Left / (60 * 60 * 24));
                   Time_Left %= (60 * 60 * 24);
                   hours = Math.floor(Time_Left / (60 * 60));
                   Time_Left %= (60 * 60);
                   minutes = Math.floor(Time_Left / 60);
                   Time_Left %= 60;
                   seconds = Time_Left;
                   
                   dps = 's'; hps = 's'; mps = 's'; sps = 's';
                   //ps is short for plural suffix.
                   if(days == 1) dps ='';
                   if(hours == 1) hps ='';
                   if(minutes == 1) mps ='';
                   if(seconds == 1) sps ='';
                   
                   document.all.countdown.innerHTML = days + ' day' + dps + ' ';
                   document.all.countdown.innerHTML += hours + ' hour' + hps + ' ';
                   document.all.countdown.innerHTML += minutes + ' minute' + mps + ' and ';
                   document.all.countdown.innerHTML += seconds + ' second' + sps + ' for our Youth Festival in Schoenstatt ';
                   break;
              default:
                   document.all.countdown.innerHTML = Time_Left + ' seconds';
              }
             
        //Recursive call, keeps the clock ticking.
        setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000);
        }

Valeu cara!

Eu não usei php ou asp para pegar a hora exata do servidor, porem mesmo assim não acho que deveria dar uma diferenca de hora de mais de 10.000 dias

Muito Obrigado

Nando

Link para o comentário
Compartilhar em outros sites

  • 0

aparentemente o problema q encontrei sem olhar muito o código é esse:

document.all.countdown

o document.all não funciona no Mozilla e similares.

tenta primeiramente trocar todos os document.all.countdown por document.getElementById("countdown")

Se não der certo posta ae...

Link para o comentário
Compartilhar em outros sites

  • 0

Ta ai o codigo modificado, mas não deu certo ainda, continua aparecendo o contador mas não com a hora certa

Valeu!

function countdown_clock(year, month, day, hour, minute, format)

        {

        //I chose a div as the container for the timer, but

        //it can be an input tag inside a form, or anything

        //who's displayed content can be changed through

        //client-side scripting.

        html_code = '<div id="countdown"></div>';

     

        document.write(html_code);

     

        countdown(year, month, day, hour, minute, format);               

        }

     

function countdown(year, month, day, hour, minute, format)

        {

        Today = new Date();

        Todays_Year = Today.getYear() - 2000;

        Todays_Month = Today.getMonth() + 1;                 

     

        //Convert both today's date and the target date into miliseconds.                         

        Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),

                                Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();                               

        Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();                 

     

        //Find their difference, and convert that into seconds.                 

        Time_Left = Math.round((Target_Date - Todays_Date) / 1000);

     

        if(Time_Left < 0)

          Time_Left = 0;

     

        switch(format)

              {

              case 0:

                  //The simplest way to display the time left.

                  document.getElementById("countdown").innerHTML = Time_Left + ' seconds';

                  break;

              case 1:

                  //More datailed.

                  days = Math.floor(Time_Left / (60 * 60 * 24));

                  Time_Left %= (60 * 60 * 24);

                  hours = Math.floor(Time_Left / (60 * 60));

                  Time_Left %= (60 * 60);

                  minutes = Math.floor(Time_Left / 60);

                  Time_Left %= 60;

                  seconds = Time_Left;

                 

                  dps = 's'; hps = 's'; mps = 's'; sps = 's';

                  //ps is short for plural suffix.

                  if(days == 1) dps ='';

                  if(hours == 1) hps ='';

                  if(minutes == 1) mps ='';

                  if(seconds == 1) sps ='';

                 

                  document.getElementById("countdown").innerHTML = days + ' day' + dps + ' ';

                  document.getElementById("countdown").innerHTML += hours + ' hour' + hps + ' ';

                  document.getElementById("countdown").innerHTML += minutes + ' minute' + mps + ' and ';

                  document.getElementById("countdown").innerHTML += seconds + ' second' + sps + ' for our Youth Festival in Schoenstatt ';

                  break;

              default:

                  document.getElementById("countdown").innerHTML = Time_Left + ' seconds';

              }

           

        //Recursive call, keeps the clock ticking.

        setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000);

        }

Link para o comentário
Compartilhar em outros sites

  • 0

Mas funciona certo no IE? Eu estive dando uma olhada, meio por cima e não achei nada de errado, o q pode estar acontecendo é alguma incompatibilidade na hora da criação da data, mas só analisando melhor o código posso te dizer com certeza. Outra coisa, se tu quiser fazer isso te aconselho a fazer com uma linguagem dinâmica, pois com JS pode não dar a data correta, vai depender da máquina do cliente...

Link para o comentário
Compartilhar em outros sites

  • 0

Para vc "misturar" php e JS é muito simples, pois os dois são processados separadamente, um no servidor e outro no cliente, por tanto você pode somente pegar a data do dia em php.

Bom, quanto a outro script não tenho não, mas acredito q aqui no fórum deva ter, dá uma pesquisada(sempre procura somente por uma palavra, countdown, data, por exemplo).

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...