Foros del Web » Programando para Internet » Javascript »

Contador regresivo

Estas en el tema de Contador regresivo en el foro de Javascript en Foros del Web. Hola tengo un código que hace que el contador realice una cuenta atrás y va bién si le asigno la fecha de inicio actual pero ...
  #1 (permalink)  
Antiguo 12/02/2015, 06:59
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 9 meses
Puntos: 67
Contador regresivo

Hola tengo un código que hace que el contador realice una cuenta atrás y va bién si le asigno la fecha de inicio actual pero si le asigno una manual el contador no realiza la funcion de 8,7,6,5,4,3... osea retrodecer el tiempo.

Este es el código:

Código Javascript:
Ver original
  1. function CountDown(){
  2.    
  3.     var date = new Date(2015,02,10);
  4.    
  5.     var final = new Date(2015,02,11);
  6.    
  7.     var days = 0;
  8.    
  9.     var hours = 0;
  10.    
  11.     var minutes = 0;
  12.    
  13.     var seconds = 0;
  14.  
  15.     if(final > date){
  16.        
  17.         var difference = (final.getTime() - date.getTime()) / 1000;
  18.        
  19.         days = Math.floor(difference / 86400);
  20.        
  21.         difference = difference - (86400 * days);
  22.        
  23.         hours = Math.floor(difference / 3600);
  24.        
  25.         difference = difference - (3600 * hours);
  26.        
  27.         minutes = Math.floor(difference / 60);
  28.        
  29.         difference = difference - (60 * minutes);
  30.        
  31.         seconds = Math.floor(difference);
  32.  
  33.         if(days > 0){
  34.            
  35.             $("#contador, #contador2").html(days + " <sup>d</sup> " + hours + " <sup>h</sup> " + minutes + " <sup>m</sup> " + seconds + " <sup>s</sup>");
  36.        
  37.         }else if(days == 0 && hours > 0){
  38.            
  39.             $("#contador").html(hours + " <sup>h</sup> " + minutes + " <sup>m</sup> " + seconds + " <sup>s</sup>");
  40.            
  41.         }else if(hours == 0 && minutes > 0){
  42.            
  43.             $("#contador").html("<span style='color:orange'>" + minutes + " <sup>m</sup> " + seconds + " <sup>s</sup></span>");
  44.            
  45.         }else if(minutes == 0 && seconds > 0){
  46.            
  47.             $("#contador").html("<span style='color:red'>" + seconds + " <sup>s</sup></span>");
  48.            
  49.         }else if(days == 0 && hours == 0 && minutes == 0 && seconds == 0){
  50.            
  51.             $("#contador").html("<span style='color:red; font-size:16px'>Finalizado</span>");
  52.            
  53.             $("#pjr").css("display", "none");
  54.            
  55.             $("#winner").css("display", "block");
  56.            
  57.         }
  58.        
  59.         setTimeout("CountDown()", 1000);
  60.    
  61.     }else {
  62.        
  63.         alert("Error en la fecha del contador");
  64.        
  65.     }
  66.    
  67. }

No se si el codigo esta correto o tiene algo de errores, me gustaría que me ayudaran en esto.

Un saludo
  #2 (permalink)  
Antiguo 12/02/2015, 08:24
Avatar de garciasanchezdani  
Fecha de Ingreso: noviembre-2011
Mensajes: 429
Antigüedad: 13 años, 1 mes
Puntos: 51
Respuesta: Contador regresivo

Hola @MaNuX0218 ,¿puedes pasar también el código html? Te puedo echar un cable

Saludos.
__________________
Diseño Web Jaén
  #3 (permalink)  
Antiguo 12/02/2015, 14:18
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 9 meses
Puntos: 67
Respuesta: Contador regresivo

Ya e solucionado el problema e consegido un código que me ha funcionado bien.

Lo que ahora aprovechando este tema...

¿Cómo podria hacer que el tiempo aparezca en varios ids y con su respectivos tiempos?

Por ejemplo tengo:

<div id="1">
<div id="contador">AQUI MOSTRARIA EL CONTADOR SUPUESTAMENTE CON EL ID 1</div>
</div>

Y aquí siguiria mostrando el contador pero con el tiempo para el id 2.

<div id="2">
<div id="contador">.... MOSTRAR ID 2</div>
</div>

Código Javascript:
Ver original
  1. function CountDown(){
  2.         final = new Date(2015, 02, 15);
  3.    
  4.     date = new Date();
  5.  
  6.     difference = final - date;
  7.  
  8.     differenceSeconds = difference / 1000;
  9.  
  10.     differenceMinutes = differenceSeconds / 60;
  11.  
  12.     differenceHours = differenceMinutes / 60;
  13.  
  14.     differenceDays = differenceHours / 24;
  15.  
  16.     days = parseInt(differenceDays);
  17.  
  18.     hours = parseInt(differenceHours) - (parseInt(differenceDays) * 24);
  19.  
  20.     minutes = parseInt(differenceMinutes) - (parseInt(differenceHours) * 60);
  21.  
  22.     seconds = parseInt(differenceSeconds) - (parseInt(differenceMinutes) * 60);
  23.    
  24.     if(days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0){
  25.            
  26.         $("#contador").html("Finalizado");
  27.            
  28.     }else{
  29.        
  30.         $("#contador").html(days + " " + hours + " " + minutes + " " + seconds);
  31.                    
  32.     }
  33.  
  34. }



Un saludo.

Etiquetas: contador, funcion, html, 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 22:58.