Foros del Web » Programando para Internet » Javascript »

Necesito un contador decendente, Ayuda pls

Estas en el tema de Necesito un contador decendente, Ayuda pls en el foro de Javascript en Foros del Web. Holas, bueno yo soy programador php, pero lo que necesito debo hacerlo en javascript y la verdad de javascript conozco poco y nada... Necesito mostrar ...
  #1 (permalink)  
Antiguo 11/10/2009, 10:19
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 21 años, 2 meses
Puntos: 0
Necesito un contador decendente, Ayuda pls

Holas, bueno yo soy programador php, pero lo que necesito debo hacerlo en javascript y la verdad de javascript conozco poco y nada...


Necesito mostrar en la web un contador decendente.
Que comience en 30 decrementando su valor cada un minuto hasta llegar a cero.
Cuando llegue a cero recarge automaticamente la pagina.


Agradecere muchissimo una mano con esye pls.
Gracias.
  #2 (permalink)  
Antiguo 11/10/2009, 13:33
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Necesito un contador decendente, Ayuda pls

Hola

Prueba con este contador regresivo creado por Tunait y un poco editado por mi. Toma las fecha del lado del servidor (ASP) pero te resultará sumamente fácil editarlo

Código javascript:
Ver original
  1. <html>
  2. <head>
  3. <style type="text/css">
  4. #calContador {width:300px;}
  5. #calFondoEnunciado {background-color:#6B8E23;color:#FFFFFF;font-family:Arial;font-size:12px;border: 1px solid #C9C9C9;border-width: 1px 1px 0px 1px;text-align:center;}
  6. #calCuerpo td{background-color:#6B8E23;color:#FFFFFF;font-family:Arial;font-size:11px;font-weight:bold;text-align:center;}
  7. #calCuerpo td.cont{background-color:#FFFF00;color:#000000;}
  8. </style>
  9.  
  10. <script type="text/javascript">
  11. function crono(){
  12. var dia = <&#37;=Day(Now)%>, mes = <%=Month(Now)-1%>, anio = <%=Year(Now)%>, hora = <%=Hour(Now)%>, minutos = <%=Minute(Now)+30%>
  13. var fechaFinal = new Date(anio,mes,dia,hora,minutos)
  14.  
  15. var serv_ahora =  new Date();
  16. serv_ahora.getFullYear(<%=Year(Now)%>);
  17. serv_ahora.getMonth(<%=Month(Now)-1%>); // Enero es el mes 0
  18. serv_ahora.getDate(<%=Day(Now)%>);
  19. serv_ahora.getHours(<%=Hour(Now)%>);
  20. serv_ahora.getMinutes(<%=Minute(Now)%>);
  21. diferencia = fechaFinal.getTime() - serv_ahora.getTime()
  22.  
  23. dias =diferencia/1000/60/60/24
  24. diasTotales = parseInt(dias)
  25. horasTotales = diferencia/1000/60/60
  26. horasReales = parseInt(horasTotales) - (parseInt(diasTotales)*24)
  27. minutosFaltan = horasTotales - parseInt(horasTotales)
  28. minutosFaltan2 = minutosFaltan*1000*60*60
  29. minutosFaltan2 = minutosFaltan2/1000/60
  30. minutosFinales = parseInt(minutosFaltan2)
  31. segundosFaltan = minutosFaltan2 - parseInt(minutosFaltan2)
  32. segundosFaltan2 = segundosFaltan*1000*60
  33. segundosFaltan2 = parseInt(segundosFaltan2/1000)
  34.  
  35. falta = "<div id='calContador'><div id='calFondoEnunciado'>Tiempo que Falta hasta el " + dia + "/" + mes + "/" + anio + " " + hora + ":" + minutos + "</div><div id='calCuerpo'><table style='table-layout:fixed;' bgcolor=' #C9C9C9' border='0px' cellspacing='1px' cellspadding='0px' width='300px'><tr>";
  36.  
  37. if(diasTotales < 10) {diasTotales = "0" + diasTotales;}
  38. if(horasReales < 10) {horasReales = "0" + horasReales;}
  39. if(minutosFinales < 10) {minutosFinales = "0" + minutosFinales;}
  40. if(segundosFaltan2 < 10) {segundosFaltan2 = "0" + segundosFaltan2;}
  41.  
  42. diasTxt = "<td class='cont'>" + diasTotales + "</td><td>Días</td>";
  43. horasTxt = "<td class='cont'>" + horasReales + "</td><td>Horas</td>";
  44. minutosTxt = "<td class='cont'>" + minutosFinales + "</td><td>Minutos</td>";
  45. segundosTxt = "<td class='cont'>" + segundosFaltan2 + "</td><td>Segundos</td></tr></table></div></div>";
  46.  
  47. if (Math.abs(diferencia) <= 900) {
  48. contadorCompleto = falta + "<td class='cont'>Se ha cumplido el tiempo</td></tr></table></div></div>";
  49. clearInterval(crono);
  50. }
  51. else
  52. {
  53. contadorCompleto = falta +  diasTxt + horasTxt + minutosTxt + segundosTxt
  54. setInterval("crono(),1000")
  55. }
  56. document.getElementById('contador_regresivo').innerHTML = contadorCompleto;
  57. }
  58. window.onload=crono;
  59. </script>
  60. </head>
  61. <body>
  62. <div id="contador_regresivo" style="text-align:center"></div>
  63. </body>
  64. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 13/10/2009, 06:24
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 21 años, 2 meses
Puntos: 0
Pregunta Necesito un contador decendente, Ayuda pls

Holas buenas
Alguien me puede dar una mano pls, lo necesitoo

Simplemente tengo que poner un contador Javascripts que vaya de 30 a 0 y que decremente cada un minuto.

Ayudita pls
  #4 (permalink)  
Antiguo 13/10/2009, 08:16
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 2 meses
Puntos: 66
Respuesta: Necesito un contador decendente, Ayuda pls

Hola nublar,

a ver si te sirve esto...
----------------------
var x = 30;
setInterval(decrecer,60000);
function decrecer()
{
if(x > 0)
{
document.getElementById('cont').innerHTML = x;
}
else
{history.go(0);}

x -= 1;
}
-----------------
con que haya un div con id="cont" suficiente. Seguro que hay formas más elegantes de hacerlo, pero bueno, si quieres algo simple ahí lo tienes. Si en algún momento quieres detener el bucle setInterval deberás usar clearInterval (porque según te lo he puesto el bucle se repite hasta el infinito... y más alla...) ;)

salu2
  #5 (permalink)  
Antiguo 13/10/2009, 08:51
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: Necesito un contador decendente, Ayuda pls

Pongo el siguiente codigo, pero el navegador no muestra nada...

<script type="text/javascript">
var x = 30;
setInterval(decrecer,60000);
function decrecer()
{
if(x > 0)
{
document.getElementById('cont').innerHTML = x;
}
else
{history.go(0);}
x -= 1;
}

</script>

<div id="cont" ></div>

Que estoy haciendo mal?
GRACIAS!!!! y disculpen por la inexperiencia en JavaScript, pero realmente lo necesito
  #6 (permalink)  
Antiguo 13/10/2009, 09:05
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 2 meses
Puntos: 66
Respuesta: Necesito un contador decendente, Ayuda pls

vale, jejejejeje que torpe soy!
Como el div empieza en blanco y hasta dentro de un minuto no varía, evidentemente, durante un minuto estará en blanco...

prueba así:
------------------------
<script type="text/javascript">
var x = 29;
setInterval(decrecer,60000);
function decrecer()
{
if(x > 0)
{
document.getElementById('cont').innerHTML = x;
}
else
{history.go(0);}
x -= 1;
}

</script>

<div id="cont" >30</div>
-----------------------

sorry! ;)
  #7 (permalink)  
Antiguo 13/10/2009, 09:27
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 21 años, 2 meses
Puntos: 0
Sonrisa Respuesta: Necesito un contador decendente, Ayuda pls

Excelente!

Muchas Gracias!!!!!!
  #8 (permalink)  
Antiguo 13/10/2009, 09:34
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: Necesito un contador decendente, Ayuda pls

Una ultima consulta, al acabarse el tiempo, se recarga la pagina con history.go(0);

Ahora bien como hago para pasarle una variable via get al recargar?

Como por ejemplo ?timeout=true

Por que lo que necesito es con php, detectar el evento.

Bueno gracias por la ayuda!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:53.