Comunidad de diseño web y desarrollo en internet online

Cuenta regresiva reloj Ayuda!!!!!!!

Citar            
MensajeEscrito el 13 Ago 2010 04:18 pm
plis ayuda como hago una cuenta regresiva en flash que llegue a una fecha estipulada y que muestre los dias y el reloj mostrando las horas:min:segundos que faltan
ahora el problema es que no puedo tomar la hora de la pc por que si la alteran se altera el reloj yo lo hice haci y no me sirve seria tomar la hora del servidor y trabajar con ella pero el problema es que no puedo lanzar consultas cada milisegundo por que se satura el servidor y tengo que mostrar el reloj retrocediendo por eso no amplio el tiempo para hacer la consulta

trate de combinar dos codigos que encontre aqui pero me falla en que si le coloco por ejemplo que termine en 2 dias y el ultimo dia termine a las 10:00am para el todos los dias se terminan a la misma hora es decir no llega al final del dia correptamente aqui les dejo el codigo que combine

Utilice 3 fotogramas

///Primer fotograma //Consulta para traer la hora actual del servidor
enviar = new LoadVars();
recibir = new LoadVars();
enviar.user = user.text;
recibir.onLoad = function(success) {
if (success) {
_root.yearserver=this.anofin;
_root.messerver=this.mesfin;
_root.diaserver=this.diafin;
_root.horaserver=this.horafin;
_root.minutosserver=this.minutosfin;
_root.segundosserver=this.segundosfin;

play();
}


};
enviar.sendAndLoad("http://localhost/G2 metodo digital/html/horaserver.php", recibir, "POST");
stop();

////Segundo fotograma //aqui resto la fecha actual con la fecha que quiero que llegue y inicializo las variables que van a decrementarse para simular el reloj retrocediendo
root.messerver=_root.messerver-1;
horaactual=new Date(_root.yearserver,_root.messerver,_root.diaserver,_root.horaserver,_root.minutosserver,_root.segundosserver,00)

endDate = new Date(2010,7,13,18,59,59,00);
timeLeft = (endDate - horaactual);
var di = 24*60*60*1000;
var ho = 60*60*1000;
var mi = 60*1000;
var se = 1000;

dosDigitos = function( value ){
return (value < 10 )?( "0" + value ):(value);
}
function calculate (factor){
var result = Math.floor(timeLeft /factor);
timeLeft -= (result * factor);
return result;

}
getTimeLeft = function (){
timeLeft = (endDate - new Date());
if( timeLeft > 0 ){
_root.dias = calculate(di);
_root.horas = calculate(ho);
_root.minutos = calculate (mi);
_root.segundos = dosDigitos(Math.floor(timeLeft/1000));
//campo.text = horas + ":" + minutos + ":" + segundos;

}else{
//campo.text = "00 dìas, 00 : 00 : 00";
}
}
getTimeLeft();

var dis:Number=_root.dias;//dias
var h:Number =_root.horas;//horas.. supongamos que se va a regresar 5 horas..
var m:Number = _root.minutos; //Variable Minutos..
var s:Number = _root.segundos;//Variable Segundos..
var hora:String;
var minutos:String;
var segundos:String;
var dias:String;
var Reloj;


///Tercer fotograma hace el retroceso del reloj

function actualizar() {
if(s<1){
m-=1;
s=60;
}
if(m<0){
m=59;
h-=1;
}
if(h<0){
h=23;
m=59;
s=60;
dis-=1;
}

s-=1;
//*****************************************
//Esto solo es para que cuando sea cero, nos ponga los dos Ceros en lugar de un solo Cero...
//Y donde sea menor de 10, le agregue un Cero antes del numero...
hora=h;
minutos=m;
segundos=s;
dias=dis;

if(dis==0){
dis="00";
}
if(dis<10 && dis!=0){
trace("aqui");
dias="0" add dis;
}


if(h==0){
hora="00";
}
if(h<10){
hora="0" add h;
}
if(m==0){
minutos="00";
}
if(m<10){
minutos="0" add m;
}
if(s==0){
segundos="00";
}
if(s<10){
segundos="0" add s;
}
//******************************************

trace("Dias " add dias add " " add hora add ":" add minutos add ":" add segundos); //Aqui depende de como vas a mostrar las horas
//relojito= hora add ":" add minutos add ":" add segundos;

_root.diascomple.text="" add dias;

_root.reloj.text=" " add hora add ":" add minutos add ":" add segundos;

if(dis==0){ //En animacion, campos dinamicos, listas, o donde quieras y como quieras :D
if(h==0){
if(m==0){
if(s==0){
clearInterval(Reloj); //Eliminamos RELOJ para que deje de ejecutarse el setInterval...

}
}
}
}
}

Reloj = setInterval( actualizar, 1000 ); //Ejecutamos la función actualizar cada segundo..

//this.diascomple.text=dias;
stop();


Cabe resaltar que parte de este codigo lo tome de un ejemplo que encontre aqui
y lo modifique para adaptarlo a mis necesidades plis si alguien e pudo entender espero me echen una ayudadita

Por evangelio_ra

49 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ago 2010 07:03 pm
Yo con más de 10 líneas me mareo, pero la idea es que cargues la hora del servidor con LoadVars, luego crees un new Date() con los datos que hayas cargado y que luego el reloj lo arranques desde allí

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Ago 2010 11:53 pm
gracias jorge le di la solucion apartir del codigo que estava implementando

Por evangelio_ra

49 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.