Foros del Web » Programando para Internet » Javascript »

Ajuste en cronometro regresivo en codigo que funciona

Estas en el tema de Ajuste en cronometro regresivo en codigo que funciona en el foro de Javascript en Foros del Web. Hola buenas a todos veran tengo un pequeño problema, tengo el siguiente codigo javascript que me hace una cuenta atras de SEGUNDOS MINUTOS Y HORAS. ...
  #1 (permalink)  
Antiguo 24/07/2012, 07:23
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años
Puntos: 5
Ajuste en cronometro regresivo en codigo que funciona

Hola buenas a todos veran tengo un pequeño problema, tengo el siguiente codigo javascript que me hace una cuenta atras de SEGUNDOS MINUTOS Y HORAS.

El tema esta en que necesito que pueda ser una cuenta atras desde cierto numero de dias meses o incluso años osea que lo haga en segundos, minutos ,horas, dias, meses y años.

Si alguien me pudiera programar esa partecita solo en el siguiente codigo que tengo les estaria eternamente agradecido.


el codigo es este y funciona perfectamente:


Código Javascript:
Ver original
  1. <script language="JavaScript">
  2. <!--
  3. /* Determinamos el tiempo total en segundos */
  4. var totalTiempo=20000;
  5.  
  6. var timestampStart = new Date().getTime();
  7. var endTime=timestampStart+(totalTiempo*1000);
  8. var timestampEnd=endTime-new Date().getTime();
  9.  
  10. /* Variable que contiene el tiempo restante */
  11. var tiempRestante=totalTiempo;
  12.  
  13. /* Ejecutamos la funcion updateReloj() al cargar la pagina */
  14. updateReloj();
  15.  
  16. function updateReloj() {
  17.     var Seconds=tiempRestante;
  18.    
  19.     var Days = Math.floor(Seconds / 86400);
  20.     Seconds -= Days * 86400;
  21.  
  22.     var Hours = Math.floor(Seconds / 3600);
  23.     Seconds -= Hours * (3600);
  24.  
  25.     var Minutes = Math.floor(Seconds / 60);
  26.     Seconds -= Minutes * (60);
  27.  
  28.     var TimeStr = ((Days > 0) ? Days + " dias " : "") + LeadingZero(Hours) + ":" + LeadingZero(Minutes) + ":" + LeadingZero(Seconds);
  29.     /* Este muestra el total de hora, aunque sea superior a 24 horas */
  30.     //var TimeStr = LeadingZero(Hours+(Days*24)) + ":" + LeadingZero(Minutes) + ":" + LeadingZero(Seconds);
  31.  
  32.     document.getElementById('CuentaAtras').innerHTML = TimeStr;
  33.  
  34.     if(endTime<=new Date().getTime())
  35.     {
  36.         document.getElementById('CuentaAtras').innerHTML = "00:00:00";
  37.     }else{
  38.         /* Restamos un segundo al tiempo restante */
  39.         tiempRestante-=1;
  40.         /* Ejecutamos nuevamente la función al pasar 1000 milisegundos (1 segundo) */
  41.         setTimeout("updateReloj()",1000);
  42.     }
  43. }
  44.  
  45. /* Funcion que pone un 0 delante de un valor si es necesario */
  46. function LeadingZero(Time) {
  47.     return (Time < 10) ? "0" + Time : + Time;
  48. }
  49. //-->
  50. </script>

Última edición por mensajeescrito; 24/07/2012 a las 07:39
  #2 (permalink)  
Antiguo 24/07/2012, 15:21
ger84
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ajuste en cronometro regresivo en codigo que funciona

hola, no te evites el placer de hacerlo tu mismo, de todos modos te dejo una clase sin terminar que puede serte útil,

Código Javascript:
Ver original
  1. window.onload = function(){
  2.     fecha = new Fecha(new Date());
  3.     updateReloj();
  4.     function updateReloj(){
  5.         var actual = fecha.toString();
  6.         document.getElementById("CuentaAtras").innerHTML = actual;
  7.         fecha.oneSecondLess();
  8.         window.setTimeout(updateReloj,1000);
  9.     }
  10. }
  11. function Fecha(date){
  12.     this.second = date.getSeconds();
  13.     this.minute = date.getMinutes();
  14.     this.hour = date.getHours();
  15.     this.day = 365;
  16.     this.year = date.getFullYear();
  17.     this.toString = toString;
  18.     this.oneSecondLess = oneSecondLess;
  19.     function oneSecondLess(){
  20.         if (this.second == 0){
  21.             this.second = 59;
  22.             if (this.minute == 0){
  23.                 this.minute = 59;
  24.                 if (this.hour == 0){
  25.                     this.hour = 23;
  26.                     if (this.day == 0){
  27.                         this.day = 364; //arreglar para bisiesto
  28.                         this.year -= 1;
  29.                     }
  30.                     else {
  31.                         this.day -= 1;
  32.                     }
  33.                 }
  34.                 else {
  35.                     this.hour -= 1;
  36.                 }
  37.             }
  38.             else{
  39.                 this.minute -= 1;
  40.             }
  41.         }
  42.         else {
  43.             this.second -= 1;
  44.         }
  45.     }
  46.  
  47.     function toString(){
  48.         var string = ("año: "+this.year+" Día: "+this.day+"--"+this.hour+":"+this.minute+":"+this.second);
  49.         return string;
  50.     }  
  51. }

Última edición por ger84; 24/07/2012 a las 15:35

Etiquetas: ajuste, cronometro, input, regresivo
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 20:12.