Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/12/2010, 22:42
Rolldi
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 18 años, 11 meses
Puntos: 45
Respuesta: Mostrar la hora, minutos, segundos dinamicamente

Cuando se carga la página el compilador ejecuta la función una sola vez de modo que solo muestra una hora, del momento exacto cuando se ejecutó la función. Lo que debes hacer es llamar a la misma función cada segundo.

Utiliza setTimeOut.

Código Javascript:
Ver original
  1. function pepitojimenez(){
  2. var fecha= new Date()
  3. var horas= fecha.getHours()
  4. var minutos = fecha.getMinutes()
  5. var segundos = fecha.getSeconds()
  6.  
  7. document.write(horas + ":" + minutos + ":" + segundos);
  8.  
  9. setTimeOut("pepitojimenez()",1000);
  10.  
  11. }

Entonces, cada segundo se ejecutará la función y cada vez que se ejecuté se encontrará con setTimeOut que le dirá que tiene que volver a ejecutarse de nuevo y ...........

La línea document.write no te servirá de nada. Podrías crear un Div (contenedor) y modificar su contenido con innerHTML.

Código Javascript:
Ver original
  1. <script>
  2. function pepitojimenez(){
  3. var fecha= new Date();
  4. var horas= fecha.getHours();
  5. var minutos = fecha.getMinutes();
  6. var segundos = fecha.getSeconds();
  7. document.getElementById('contenedor').innerHTML=''+horas+':'+minutos+':'+segundos+'';
  8. setTimeout('pepitojimenez()',1000);
  9. }
  10. </script>
  11. <body onload="javascript:pepitojimenez()">
  12. <div id="contenedor"></div>

Última edición por Rolldi; 15/12/2010 a las 23:00