繁体   English   中英

动态更新时间而无需刷新页面

[英]Dynamically update time without refreshing the page

<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>

上面是用于实时动态更新的代码,它没有在浏览器上显示任何内容。 非常感谢您的帮助

谢谢。

updateClock中存在一些错误:

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

now必须是一个Date对象。

  1. now需要成为一个日期对象
  2. 现在,您使用逗号而不是分号。getMinutes(),

我建议使用
*填充
* setInterval
* window.onload而不是body onload

我增加了几秒钟来显示它的更新。 如果只需要小时和分钟,请将间隔时间更改为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> 

使用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> 

要么

您的代码已编辑:

 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> 

var now = new Date();缺少var now = new Date(); 还有now.getSeconds();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM