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 originalfunction pepitojimenez(){
var fecha= new Date()
var horas= fecha.getHours()
var minutos = fecha.getMinutes()
var segundos = fecha.getSeconds()
document.write(horas + ":" + minutos + ":" + segundos);
setTimeOut("pepitojimenez()",1000);
}
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<script>
function pepitojimenez(){
var fecha= new Date();
var horas= fecha.getHours();
var minutos = fecha.getMinutes();
var segundos = fecha.getSeconds();
document.getElementById('contenedor').innerHTML=''+horas+':'+minutos+':'+segundos+'';
setTimeout('pepitojimenez()',1000);
}
</script>
<body onload="javascript:pepitojimenez()">
<div id="contenedor"></div>