hsimberg Postado Maio 23, 2005 Denunciar Share Postado Maio 23, 2005 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 assimMuito ObrigadoHernandesPs: Se precisar ver, aqui ta a pagina: wjt.schoenstatt.de Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Maio 23, 2005 Denunciar Share Postado Maio 23, 2005 posta o código Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hsimberg Postado Maio 24, 2005 Autor Denunciar Share Postado Maio 24, 2005 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 diasMuito ObrigadoNando Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Maio 24, 2005 Denunciar Share Postado Maio 24, 2005 aparentemente o problema q encontrei sem olhar muito o código é esse: document.all.countdowno 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hsimberg Postado Maio 24, 2005 Autor Denunciar Share Postado Maio 24, 2005 Ta ai o codigo modificado, mas não deu certo ainda, continua aparecendo o contador mas não com a hora certaValeu!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); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Maio 24, 2005 Denunciar Share Postado Maio 24, 2005 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hsimberg Postado Maio 25, 2005 Autor Denunciar Share Postado Maio 25, 2005 Olá.No Ie. Funciona normal sim, eu só não fiz em php porque eu não sei como mistura-lo com js....Voce tem algum script que eu possa usar?ObrigadoHernandes Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Maio 25, 2005 Denunciar Share Postado Maio 25, 2005 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). Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
hsimberg
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
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.