所以我得到了新的时间,但不是更新它,它只是在屏幕上反复写入时间。我研究了如何设置间隔,这是我发现的方式。我正在尝试学习HTML和JavaScript,所以我很抱歉不理解如何解决这个问题。
这是我的html代码中的部分,我从js文件中调用它。 Id =“time”是当前时间的javascript代码。
<div id="top">
<span id="quote"><script type="text/javascript" src="quote.js"></script></span>
<span id="date"><script type="text/javascript" src="date.js"></script></span>
<span id="time"><script type="text/javascript" src="time.js"></script></span>
</div>
这是当时的javascript代码。
function time(){
var currentDate = new Date();
var hour = currentDate.getHours();
var minutes = currentDate.getMinutes();
var seconds = currentDate.getSeconds();
var time = hour + ":" + minutes + ":" + seconds;
document.write(time);
}
setInterval(function(){time()},1000);
如你所见,它描绘了时间1:02 1:03 1:04 .......
非常感谢您的帮助!
答案 0 :(得分:4)
首先,没有理由将<script>
标记放在<span>
标记中。相反,请将它们放在结束</body>
标记之前。
其次,请勿使用document.write()
更新内容。见:Why is document.write considered a "bad practice"?。
这对你有用:
<div id="time"></div>
function time(){
var currentDate = new Date();
var hour = currentDate.getHours();
var minutes = currentDate.getMinutes();
var seconds = currentDate.getSeconds();
var time = hour + ":" + minutes + ":" + seconds;
//get the time div
var timeDiv = document.getElementById("time");
timeDiv.innerHTML = time; //set the content of time div to current time
}
setInterval(function(){time()},1000);