Foros del Web » Programando para Internet » Javascript »

Crear cuenta regresiva

Estas en el tema de Crear cuenta regresiva en el foro de Javascript en Foros del Web. Hola a todos, muchas gracias por leer mi pedido, en esta oportunidad lo que estoy buscando es lograr poner una cuenta regresiva que marque cuantas ...
  #1 (permalink)  
Antiguo 14/04/2016, 16:35
 
Fecha de Ingreso: febrero-2015
Mensajes: 3
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Crear cuenta regresiva

Hola a todos, muchas gracias por leer mi pedido, en esta oportunidad lo que estoy buscando es lograr poner una cuenta regresiva que marque cuantas horas y minutos faltan para que empiece un evento..

Tengo un ejemplo de lo que digo:

Código:
<script language="JavaScript">
TargetDate = "04/14/2016 05:26 PM";
BackColor = "black";
ForeColor = "white";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%% Días, %%H%% Horas, %%M%% Minutos, %%S%%.";
FinishMessage = "En Curso";
</script>
<script language="JavaScript">

function calcage(secs, num1, num2) {
  s = ((Math.floor(secs/num1))%num2).toString();
  if (LeadingZero && s.length < 2)
    s = "0" + s;
  return "<b>" + s + "</b>";
}

function CountBack(secs) {
  if (secs < 0) {
    document.getElementById("cntdwn").innerHTML = FinishMessage;
    return;
  }
  DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
  DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
  DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
  DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));

  document.getElementById("cntdwn").innerHTML = DisplayStr;
  if (CountActive)
    setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod);
}

function putspan(backcolor, forecolor) {
 document.write("<span id='cntdwn' style='background-color:" + backcolor + 
                "; color:" + forecolor + "'></span>");
}

if (typeof(BackColor)=="undefined")
  BackColor = "white";
if (typeof(ForeColor)=="undefined")
  ForeColor= "black";
if (typeof(TargetDate)=="undefined")
  TargetDate = "12/31/2020 5:00 AM";
if (typeof(DisplayFormat)=="undefined")
  DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
if (typeof(CountActive)=="undefined")
  CountActive = true;
if (typeof(FinishMessage)=="undefined")
  FinishMessage = "";
if (typeof(CountStepper)!="number")
  CountStepper = -1;
if (typeof(LeadingZero)=="undefined")
  LeadingZero = true;


CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
  CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
putspan(BackColor, ForeColor);
var dthen = new Date(TargetDate);
var dnow = new Date();
if(CountStepper>0)
  ddiff = new Date(dnow-dthen);
else
  ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs);

</script>
Lo malo de este código son estas cosas:
• No debería marcarme fechas, ya que son eventos diarios.
• No se reinicia el tiempo, osea cuando llegue a 00:00:00 debería volver a la cuenta de
nuevo para mañana a la misma hora.
• Debe referirse a una hora de GTM -5 (Lima Peru)
Osea si una persona ve la pagina desde nose, España, seguiria marcando la cuenta regresiva correcta.
Eso seria el problema con este código y pues la verdad no se como editarlo o si es inservible, pero lo pongo para ver si me puedan entender.

Dicho de otra manera, necesito un reloj de cuenta regresiva para un evento que da todos los dias a las 21:00Hs.

Muchas gracias desde ya :D
  #2 (permalink)  
Antiguo 15/04/2016, 02:08
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Crear cuenta regresiva

jsFiddle
Lo hice simple como para que puedas captar lo basico y adaptarlo a tus necesidades.

Lo de GMT -5, seria..
Código Javascript:
Ver original
  1. var date = new Date();
  2. var horas = date.getUTCHours() - 5;
  #3 (permalink)  
Antiguo 15/04/2016, 18:31
 
Fecha de Ingreso: febrero-2015
Mensajes: 3
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Crear cuenta regresiva

Gracias!! es exactamente lo que estaba buscando!!!

Etiquetas: html, regresiva
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:58.