Foros del Web » Programando para Internet » Javascript »

Cómo funciona el reloj

Estas en el tema de Cómo funciona el reloj en el foro de Javascript en Foros del Web. Hola a Tod@s!! Estoy empezando con JavaScript y hasta el momento todo bien,... pero me he encontrado con un ejemplo que no acaba de entender. ...
  #1 (permalink)  
Antiguo 25/01/2008, 03:04
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Pregunta Cómo funciona el reloj

Hola a Tod@s!!

Estoy empezando con JavaScript y hasta el momento todo bien,... pero me he encontrado con un ejemplo que no acaba de entender.

Es decir, en el que no acabo de entender la función de cada uno de los elementos que hay en el script.

Alguién sería tan amable de comentarlo. MUchas gracias.

Allá va el script:

Código PHP:
<html>
<
head>
<
script type="text/javascript">
function 
startTime()
{
var 
today=new Date();
var 
h=today.getHours();
var 
m=today.getMinutes();
var 
s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}

function 
checkTime(i)
{
if (
i<10)
  {
  
i="0" i;
  }
return 
i;
}
</script>
</head>

<body onload="startTime()">
<div id="txt"></div>
</body>
</html> 
  #2 (permalink)  
Antiguo 25/01/2008, 04:30
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Cómo funciona el reloj

<body onload="startTime()">

Esto es para que cuando la pagina esté cargada se ejecute automáticamente la funcion startTime

var today=new Date();

Coge la fecha actual (del PC) y la guarda en la variable today

var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();


Rellena esas 3 variables con la hora, minutos y segundos de la fecha actual (del PC)

m=checkTime(m);
s=checkTime(s);

Esto es para forzar a que las variables de minutos y segundos lleven siempre 2 caracteres (ver funcion CheckTime)

document.getElementById('txt').innerHTML=h+":"+m+" :"+s;

Esto hace varias cosas:
document.getElementById('txt')
- Primero busca en la página HTML un elemento con atritudo id (o name) igual a "txt"
document.getElementById('txt').innerHTML
- A dicho elemento le asigna lo que va detras del '='. en este caso un string con la hora, minutos y segundos actuales.

t=setTimeout('startTime()',500);
Crea una temporizacion para que cada medio segundo se vuelva a ejecutar la función
startTime
__________________
Grupos de Música
Pop Music Stars
  #3 (permalink)  
Antiguo 25/01/2008, 04:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: Cómo funciona el reloj

Muchas gracias por tu respuesta!

Sólo una duda más.

Para qué sirve esta parte?
Código PHP:
function checkTime(i)
{
if (
i<10)
  {
  
i="0" i;
  }
return 
i;

Saludos!
  #4 (permalink)  
Antiguo 25/01/2008, 04:41
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Cómo funciona el reloj

No es forma muy elegante (ni fiable), pero es para forzar a que la variable lleve siempre 2 caracteres. Si tiene sólo un caracter (valores de 0 a 9) se le añade un "0" por delante.
Digo que no es elegante, porque a los valores negativos les añadiría siempre el "0", y los valores mayores (o iguales) a 100 llevarán mas de tres caracteres. Aunque en este caso en particular nunca vamos a pasarle valores negativos, ni valores mayores a 59.
__________________
Grupos de Música
Pop Music Stars
  #5 (permalink)  
Antiguo 25/01/2008, 04:59
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: Cómo funciona el reloj

Muchas gracias!

Ahora sólo me queda una pregunta,... como relaciona la variable "i" con el código anterior??

Gracias por tu ayuda, acabo de empezar con el mundo Javascript
  #6 (permalink)  
Antiguo 25/01/2008, 05:14
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Cómo funciona el reloj

m=checkTime(m);
significa que la variable "m" tome el valor retornado por la funcion checkTime

return i;
Retorna el valor de la variable "i" al entorno en que se ejecutó la función. La función acaba cuando se ejecuta "return" (esto es igual que en el lenguaje C), pero no tiene por que estar únicamente al final de la funcion. Puede estar también por el medio para salidas prematuras.
__________________
Grupos de Música
Pop Music Stars
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 16:55.