JavaScript时钟适用于一个页面,但不适用于任何其他页面

时间:2017-12-04 00:49:56

标签: javascript php

我正在使用放置在页面页脚中的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相同的位置,则时钟在显示页面加载时间之外不起作用。

这怎么能在一个页面上而不是在下一个页面上起作用?

提前感谢您的帮助。

0 个答案:

没有答案