Foros del Web » Programando para Internet » Javascript »

Reloj en Javascript

Estas en el tema de Reloj en Javascript en el foro de Javascript en Foros del Web. Hola amigos. El otro dia, uno de vosotros me dio un codigo para mostrar un reloj a partir de una fecha dada. Vaya por delante ...
  #1 (permalink)  
Antiguo 17/06/2010, 16:10
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Reloj en Javascript

Hola amigos. El otro dia, uno de vosotros me dio un codigo para mostrar un reloj a partir de una fecha dada. Vaya por delante que, aunque estoy en ello, de momento no tengo ni idea de javascript.
He estado modificando el codigo para que, la fecha que hay que darle, se la pueda dar en php. Lo he probado en una hoja aparte con el codigo que luego os pondré debajo y funciona perfecto.

El problema es cuando meto este codigo en la hoja donde tiene que ir. En principio, el mismo codigo, no funciona. No da ningun error pero el reloj no se ve.

Al final del codigo, hay una llamada que es window.onload=crono;, si lo modifico y le pongo window.onload=crono();, es decir, le añado los parentesis, ya funciona en la hoja donde tiene que ir, pero el navegador me dice que hay lista de errores.

¿Sabeis a que puede ser debido este comportamiento. Os pongo el codigo entero que funciona solo, pero en la hoja donde tiene que ir no.

<html>
<head>
<?php
$dia = 17;
$mes = 05;
$ano = 2010;
$hora = 22;
$minutos = 40;
$segundos = 30;
?>

<script type="text/javascript">
function crono(){
var dia = <?php echo $dia;?>, mes = <?php echo $mes;?>, anio = <?php echo $ano;?>, hora = <?php echo $hora;?>, minutos = <?php echo $minutos;?>, segundos = <?php echo $segundos;?> //aquí es donde has de establecer la fecha final. Recuerda que enero es el mes 0, así el 5 es junio.
var fechaFinal = new Date(anio,mes,dia,hora,minutos,segundos)

var hoy = new Date()
diferencia = hoy.getTime() - fechaFinal.getTime();

horas = diferencia/1000/60/60;
horasTotales = parseInt(horas)

minutosFaltan = horas - parseInt(horasTotales)
minutosFaltan2 = minutosFaltan*1000*60*60
minutosFaltan2 = minutosFaltan2/1000/60
minutosTotales = parseInt(minutosFaltan2)

segundosFaltan = minutosFaltan2 - parseInt(minutosFaltan2)
segundosFaltan2 = segundosFaltan*1000*60
segundosTotales = parseInt(segundosFaltan2/1000)

falta = "<div id='calContador'><div id='calCuerpo'>";

if(horasTotales < 10) {horasTotales = "0" + horasTotales;}
if(minutosTotales < 10) {minutosTotales = "0" + minutosTotales;}
if(segundosTotales < 10) {segundosTotales = "0" + segundosTotales;}

horasTxt = horasTotales + ":";
minutosTxt = minutosTotales + ":";
segundosTxt = segundosTotales;

if (Math.abs(diferencia) <= 900) {
contadorCompleto = falta + "</div></div>";
clearInterval(crono);
}
else
{
contadorCompleto = falta + horasTxt + minutosTxt + segundosTxt
setInterval("crono(),1000")
}
document.getElementById('contador_regresivo').inne rHTML = contadorCompleto;
}

window.onload=crono;
</script>
</head>
<body>
<div id="contador_regresivo" style="text-align:center"></div>
</body>
</html>

P.D.: Lo que he marcado en negrita, es el codigo que pongo en la hoja donde tiene que ir
  #2 (permalink)  
Antiguo 18/06/2010, 00:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Reloj en Javascript

A la espera de que alguien me pueda ayudar, os voy a poner el error que me sale, a ver si hay alguna forma de saber de donde puede venir, ya que yo soy incapaz de verlo.

Detalles de error de página web

Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Fecha: Fri, 18 Jun 2010 06:24:22 UTC


Mensaje: No implementado

Línea: 328
Carácter: 1
Código: 0
URI: http://127.0.0.1/



Gracias. Saludos.
  #3 (permalink)  
Antiguo 18/06/2010, 01:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Reloj en Javascript

Hola amigos. Bueno, sigo investigando y creo que ya se porque es el error.

Tengo dos funciones que acaban con esto

window.onload=function1 (Esta seria la de este hilo)
window.onload=function2 (Esta es otra funcion del sitio)

Por lo que he estado investigando, esto no es posible y por eso da error.

¿Sabeis como se puede solucionar esto?.
  #4 (permalink)  
Antiguo 18/06/2010, 01:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Reloj en Javascript

Hola:

window.onload = function () {funcion1(); funcion2();}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 18/06/2010, 02:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Reloj en Javascript

Hola Caricatos. Gracias por responderme.

Es lo pongo en los dos sitios donde tengo

window.onload=function1 (Esta seria la de este hilo)
window.onload=function2 (Esta es otra funcion del sitio)
  #6 (permalink)  
Antiguo 18/06/2010, 02:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Reloj en Javascript

Hola:

Revisa el enlace que te puse... se trata de agrupar las dos funciones en una... y otra cosa importante es que la primera no termine con una instrucción return...

Saluidos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 18/06/2010, 03:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Reloj en Javascript

Hola. Gracias por tu respuesta. Lo he conseguido arreglar, pero ahora el problema es conbinar marquee con windows.onload. Pero este lo pondré en otro hilo

Muchas gracias por tu ayuda.

Etiquetas: reloj
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 13:06.