Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript time keeper无法正确更新_Javascript_Time_Clock - Fatal编程技术网

Javascript time keeper无法正确更新

Javascript time keeper无法正确更新,javascript,time,clock,Javascript,Time,Clock,我用Javascript代码构建了一个小时钟,但它无法正确更新。它显示的时间很好,但你必须刷新页面,以使时钟正确更新。有没有一种方法可以让我的代码自动更新,而不必每次都更新页面 图片: var currentTime=新日期() var hours=currentTime.getHours() var minutes=currentTime.getMinutes() 如果(分钟=12){ 后缀=“PM”; 小时=小时-12; } 如果(小时==0){ 小时=12; } 文件。写(“+hour

我用Javascript代码构建了一个小时钟,但它无法正确更新。它显示的时间很好,但你必须刷新页面,以使时钟正确更新。有没有一种方法可以让我的代码自动更新,而不必每次都更新页面

图片:


var currentTime=新日期()
var hours=currentTime.getHours()
var minutes=currentTime.getMinutes()
如果(分钟<10)
分钟数=“0”+分钟数
var suffix=“AM”;
如果(小时数>=12){
后缀=“PM”;
小时=小时-12;
}
如果(小时==0){
小时=12;
}
文件。写(“+hours+”:“+minutes+”+后缀+”)
函数updatelock(){
var currentTime=新日期();
var hours=currentTime.getHours();
var minutes=currentTime.getMinutes();
如果(分钟<10)
分钟数=“0”+分钟数
var suffix=“AM”;
如果(小时数>=12){
后缀=“PM”;
小时=小时-12;
}
如果(小时==0){
小时=12;
}
//文件。写(“+hours+”:“+minutes+”+后缀+”);
document.getElementById('myClock').innerHTML=“+hours+”:“+minutes+”“+suffix+”;
}
setInterval(函数(){updatelock();},6000);
HTML:

 <div id="myClock"></div>

首先,您可以将代码封装在函数中,例如,
currentTime()
,更改
文档。将
调用写入return语句,这样您就有了一个返回更新字符串的函数
currentTime()
。然后将一个句柄保存到一个HTML元素的某个地方,您希望在其中显示更新的时间,如
el=document.getElementById('time')
,然后使用如下间隔

setInterval(function () {
    el.innerHTML = currentTime();
}, 5000);

使用
setInterval(函数(){..},3000)您的代码在实现时工作正常;换句话说,其中的任何内容都不会导致时间被更新。这将无法正常工作,因为
document.write()
调用。@Pointy谢谢,更新了我的答案。@user876345谢谢。然而,我已经尝试实现以下代码,现在没有时间显示。知道为什么吗?我已经更新了我的答案,请检查一下用来显示时间的答案
 <div id="myClock"></div>
setInterval(function () {
    el.innerHTML = currentTime();
}, 5000);