网站当前时间无法正确显示

时间:2014-06-06 01:22:54

标签: javascript html html5 date time

所以我得到了新的时间,但不是更新它,它只是在屏幕上反复写入时间。我研究了如何设置间隔,这是我发现的方式。我正在尝试学习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 .......

非常感谢您的帮助!

1 个答案:

答案 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);