Comunidad de diseño web y desarrollo en internet online

ayuda para crear contador regresivo

Citar            
MensajeEscrito el 28 Jun 2006 11:01 pm
mi cuestion:
deseo realizar para mi pagina un contador que marque los dias y las horas que faltan para mi evento(parecido al de la pagina de inicio de cristalab :D pero deseo personalizarlo)

¿alguien me podria ayudar con el codigo? o ¿conocen algun tutorial para realizarlo?

Por arcangel198

26 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 28 Jun 2006 11:39 pm
Mientras no lo pidas en meses es fácil XD

Código :

dt = new Date();
target = new Date(2006, 6, 30);
//El mes 6 es Julio (enero es el mes 0)
time = target.getTime()-dt.getTime();
brutDays = time/(3600000*24);
days = Math.floor(brutDays);
brutHours = (brutDays-days)*24;
hours = Math.floor(brutHours);
brutMinutes = (brutHours-hours)*60;
minutes = Math.floor(brutMinutes);
seconds = Math.floor((brutMinutes-minutes)*60);
trace(days);
trace(hours);
trace(minutes);
trace(seconds);

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 09 Jul 2006 09:39 pm
Que tal arcangel198

Yo tengo un codigo un poco diferente al de zah :) pero muy funcional y no solo te muestra la hora si no tambien el dia en un campo de texto dinamico cada uno, y pues puedes personalizarlo un poco mas no solo mostrarlo en un trace, que no es nada dificil lo que te mando, y pues es otra opcion que puedes tomar. :lol:, ojo no tengo nada en contra de zah, amigo el comentario del trace es porque habemos muchos clab que de verdad somos muy novatos ...... :lol:

Este es el codigo:

Código :

today = new Date();
oldhr = 12;
oldmin = 0;
oldsec = 0;
oldday = 11;
oldyr = 104; 
oldmon = 7;
newhr = today.getHours()-oldhr;
newmin = today.getMinutes()-oldmin;
newsec = today.getSeconds()-olsec;
newday = today.getDate()-oldday;
newmon = today.getMonth()-oldmon;
newyr = today.getYear()-oldyr;
switch(today.getMonth()){
   case 0:   
   case 2:   
   case 4:   
   case 6:   
   case 8:   
   case 9:
   case 11: addday=31;break;
   case 3:   
   case 5:
   case 7:
   case 10: addday=30;break;
   case 1: if(today.getYear()%4==0){addday=29;}
         else addday=28; break;
}
if(newmin<0){ newmin+=59; newhr-=1;}
if(today.getMinutes()==59){newmin=59;}
if(newhr <0){newhr+=23; newday-=1;}
if(today.getHours()==23){newhr=23;}
if(newday<0){newday+=addday; newmon-=1;}
if(newmon<0){newmon+=11; newyr-=1;}
time = newhr add  " hr(s) " add newmin add " min(s) " add newsec add " sec(s) ";
todate = newday add " day(s) " add newmon add " month(s) " add newyr add " year(s) ";


Si quieres el .Fla aqui lo tienes Fla para descarga

Por nashCode

161 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador web

firefox
Citar            
MensajeEscrito el 17 Feb 2007 03:25 pm
Hola jomajudo:

Gracias por el contador que pones en este foro. Tengo en mente el usarlo para un evento, pero, francamente no se cómo hacerle para que el contador tome como base la fecha meta que sería el 23.05.2007.

Quisiera saber qué valores pongo en estos campos...

Código :

oldday = 11;
oldyr = 104;
oldmon = 7;


Gracias y saludos.

Por daosorio

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Feb 2007 07:17 pm
se supone que

oldday, sera el dia, digamos que en tu caso seria 23

lo del oldyr si que no se para que es, se supone que sera el año pero 104? referiendose al NewDate

Por Suriv

131 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Feb 2007 07:46 pm
Si, mira, Suriv, gracias por contestar.

Lo que pasa es que no se cómo calcula. Ya que cuando le pongo 23, 5, 2007, se sacan un cuentón de algo así como faltan 195 años, 2 meses, x días.

Me imagino que el secreto es en el siguiente code, que francamente no le entiendo bien.

Código :

newday = today.getDate()-oldday;
newmon = today.getMonth()-oldmon;
newyr = today.getYear()-oldyr;


Saludos.

Por daosorio

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Feb 2007 10:19 pm
Entiendo que cuando tu metas los datos de old.... se restan de los del sistema

Entiendo que calcula la fecha que tu pides pero no da facilidad a la introduccion de ello, pienso yo.

No quito merito a este contador porque es bastante complejo.....

Por Suriv

131 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Feb 2007 02:34 am
coje este codigo

Código :


eventDate = new Date(2007, 11, 23); // 0 es Enero  11 Diciembre
eventMillisecs = eventDate.getTime();
currentDate = new Date();
currentMillisecs = currentDate.getTime();
msecs = eventMillisecs-currentMillisecs;
if (msecs<0) {
msecs = 0;
}
secs = Math.floor(msecs/1000);
mins = Math.floor(secs/60);
hours = Math.floor(mins/60);
days = Math.floor(hours/24);
msecs = String(Math.floor(msecs%1000/10));
secs = String(secs%60);
mins = String(mins%60);
hours = String(hours%24);
days = String(days);
if (msecs.length<2) {
msecs = "0"+msecs;
}
if (secs.length<2) {
secs = "0"+secs;
}
if (mins.length<2) {
mins = "0"+mins;
}
if (hours.length<2) {
hours = "0"+hours;
}
while (days.length<3) {
days = "0"+days;
}
fecha2 = " 23 - 12 - 2007 ";
tiempo = days+" Dias "+hours+" Horas "+mins+" Minutos "+secs+" Segundos "+msecs;
updateAfterEvent();




Espero que te sirva

Por Suriv

131 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Feb 2007 02:21 pm
Hola Suriv, nuevamente gracias por tu interés.

Copié este code que pones, pero al ejecutar la animación me dice esta:

Código :

_level0.todate


¿A qué crees que se deba...?

Saludos.

Por daosorio

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 18 Feb 2007 07:06 pm
mira haber si el campo texto le has puesto la variable igual, y este se ejecuta en Flash Player 8 y AS 2

Por Suriv

131 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Sep 2007 10:35 am
Ese codigo que acaba de poner suriv va genial, pero que habria que hacer para que se vaya autorefrescando cada vez....estoy probando con setinterval pero no lo consigo, ¿alguna ayudita? muchas gracias.

Por cumbres

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Sep 2007 09:08 am

cumbres escribió:

Ese codigo que acaba de poner suriv va genial, pero que habria que hacer para que se vaya autorefrescando cada vez....estoy probando con setinterval pero no lo consigo, ¿alguna ayudita? muchas gracias.


:(

Por cumbres

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 May 2008 01:34 pm
Buenas... soy nuevo en el foro y me estrenaré con una pregunta algo tonta...

He logrado hacer el conteo regresivo tal cual y le agregué XML para poder editar la fecha sin necesidad de tocar el .fla

Pero, tengo un problemita... Los campos de texto no actualizan... Se estancan en la hora que marcaron cuando fueron cargados...

Gracias... :)

Por ajgb_cool

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 May 2008 11:45 am
Hey listox... :lol:

Era una solución tonta... jeje

Por ajgb_cool

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Feb 2009 04:34 pm
En macromedia flash haga lo siguiente:


Un texto dinámico con nombre de instancia: falta_txt

En la otra capa esto:

//aumenta un cero si es menor que 10 (ejemp: 5 será 05)
var mascero:Function = function (n:Number):String{return n<10?'0'+n:n;}

//fecha limite (año, mes, dia, hora, minuto, segundo
var fecha_limite:Date = new Date(2006,9,21,21,59,59);

//
this.onEnterFrame = function(){
//la fecha_actual actual
var fecha_actual:Date = new Date();

//verificamos el tiempo faltante
var falta:Number = (fecha_limite.getTime() - fecha_actual.getTime())/10;

if(falta > 0){
//hacemos los cálculos
var d:Number = Math.floor(falta/8640000); //dias
var h:Number = Math.floor((falta%8640000)/360000); //horas
var m:Number = Math.floor((falta%360000)/6000); //minutos
var s:Number = Math.floor((falta%6000)/100); //segundos
var cs:Number = Math.floor((falta%100)); //centésimas de segundo
//lo mostramos en un campo de texto
falta_txt.text = mascero(d)+'d : '+mascero(h)+'h : '+mascero(m)+'m : '+mascero(s)+'s : '+mascero(cs)+'cs';
}else{
//si ya no falta nada
falta_txt.text = 'la fecha limite ya pasó';
delete this.onEnterFrame;
}
}
stop();

Por adrigr79

3 de clabLevel



 

firefox

 

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