<html>
<head>
<script>
function updateClock() {
    var time = now.getHours() + ':' + now.getMinutes(), 
    document.getElementById('current').innerHTML = time;
    setTimeout(updateClock, 1000);
}
</script>
</head>
<body onload="updateClock()">
<p id="current"> </p>
</body>
</html>

Arriba está el código para actualizar dinámicamente en tiempo real, no muestra nada en el navegador. Realmente agradecería ayuda

Gracias.

0
Nancy 8 may. 2016 a las 09:18

3 respuestas

La mejor respuesta

Mostrar tiempo usando Js:

function startTime() {
  var today = new Date();
  var h = today.getHours();
  var m = today.getMinutes();
  var s = today.getSeconds();
  m = checkTime(m);
  s = checkTime(s);
  document.getElementById('current').innerHTML =
    h + ":" + m + ":" + s;
  var t = setTimeout(startTime, 500);
}

function checkTime(i) {
  if (i < 10) {
    i = "0" + i
  }; // add zero in front of numbers < 10
  return i;
}
<body onload="startTime()">
  <p id="current">Time loading..</p>
</body>

O

Su código editado:

function updateClock() {
  var now = new Date();
  var time = now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
  document.getElementById('current').innerHTML = time;
  setTimeout(updateClock, 1000);
}
<body onload="updateClock()">
  <p id="current"></p>
</body>

Faltabas var now = new Date(); y también now.getSeconds();.

0
Ani Menon 8 may. 2016 a las 19:49

Hay algunos errores en updateClock:

function updateClock() {
  var now = new Date()
  var time = now.getHours() + ':' + now.getMinutes();
  document.getElementById('current').innerHTML = time;
  setTimeout(updateClock, 1000);
}

now debe ser un objeto Date.

0
ema 8 may. 2016 a las 06:26
  1. now necesitaba ser un objeto de fecha
  2. Tenías una coma en lugar de un punto y coma después de ahora.getMinutes (),

Recomiendo usar
* relleno
* setInterval
* window.onload en lugar de body onload

Agregué segundos para mostrar las actualizaciones. Si solo necesita horas y minutos, cambie el intervalo de tiempo a aproximadamente 10000.

function pad(num) {
  return String("0"+num).slice(-2);
}
function updateClock() {
  var now = new Date();
  var time = pad(now.getHours()) + ':' + pad(now.getMinutes()) + ":" + pad(now.getSeconds());
  document.getElementById('current').innerHTML = time;
}
window.onload = function() {
  setInterval(updateClock, 500); // use a shorter interval for better update
}
<p id="current"></p>
0
mplungjan 9 may. 2016 a las 04:02