我正在使用放置在页面页脚中的JavaScript时钟,正在使用此特定时钟,因为它显示的时间长达第二个。
索引页面包含<head>
部分中的脚本,如下所示:
<script>
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('clock').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;
}
</script>
<body>
代码:
<body onload="startTime()">
在页脚中,<span>
适用于时钟:
<span id="clock"></span>
一切正常,秒数会消失,小时和分钟会相应变化。
此索引页面包含其自身内的所有页眉和页脚代码。有一个入口表单按钮,需要单击才能进入站点的其余部分,并且如果未单击“输入”按钮,则会启用PHP会话以防止访问站点的其余部分。
网站使用的所有其余页面都包含标题代码的文件。当时钟代码插入标题包含文件的<head>
部分时 - 在<head>
部分与索引页面完全相同的位置 - 时钟加载并显示时间,但秒数不实时计算,同样,分钟不应该更新,时钟只显示页面加载的时间。
我检查了控制台,我收到了这些错误:
TypeError: document.getElementById(...) is null
startTime https://website.com/home:144:1
onload https://website.com/home:1:1
我已从标头包含文件中删除了代码,并将其移动到页脚中的body标签之前,没有任何更改。
如果脚本位于索引页面<head>
中显示的包含文件<head>
中与EXACT相同的位置,则时钟在显示页面加载时间之外不起作用。
这怎么能在一个页面上而不是在下一个页面上起作用?
提前感谢您的帮助。