Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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时钟赢得';不能正确显示_Javascript_Html_Clock - Fatal编程技术网

JavaScript时钟赢得';不能正确显示

JavaScript时钟赢得';不能正确显示,javascript,html,clock,Javascript,Html,Clock,我一直在自学JavaScript,我还是一个新手,我尝试在我的网站上添加一个时钟功能,但是,我看不到如何显示它,这是我的完整代码: <html> <head> <script type="text/javascript"> function tick() { var hours, minutes, seconds, ap; var intHours, intMinutes, intSeconds; var

我一直在自学JavaScript,我还是一个新手,我尝试在我的网站上添加一个时钟功能,但是,我看不到如何显示它,这是我的完整代码:

<html>
<head>
<script type="text/javascript">
    function tick() {
        var hours, minutes, seconds, ap;
        var intHours, intMinutes, intSeconds;
        var today;

        today = new Date();

        intHours = today.getHours();
        intMinutes = today.getMinutes();
        intSeconds = today.getSeconds();

        if (intHours == 0) {
            hours = "12:";
            ap = "Midnight";
        } else if (intHours < 12) {
            hours = intHours + ":";
            ap = "a.m";
        } else if (intHours == 12) {
            hours = "12:";
            ap = "noon";
        } else {
            intHours = intHours - 12
            hours = intHours + ":";
            ap = "p.m.";
        }
        if (intMinutes < 10) {
            minutes = "0" + intMinutes + ":";
        } else {
            minutes = intMinutes + ":";
        }
        if (intSeconds < 10) {
            seconds = "0" + intSeconds + " ";
        } else {
            seconds = intSeconds + " ";
        }
        timeString = hours + minutes + seconds + ap;

        Clock.innerHTML = timeString;

        window.setTimeout("tick();", 100);
    }

    //--></script>
</head>
<body>
<div id="Clock" align="center" style="font-family: Verdana; font-size: 10px; color:#000000"></div>
 </body>
 </html>

函数tick(){
var小时、分钟、秒、ap;
变量intHours、intMinutes、intSeconds;
今天的var;
今天=新日期();
intHours=today.getHours();
intMinutes=today.getMinutes();
intSeconds=today.getSeconds();
如果(整数==0){
hours=“12:”;
ap=“午夜”;
}否则如果(整数<12){
小时=整数小时+“:”;
ap=“上午”;
}否则如果(整数==12){
hours=“12:”;
ap=“中午”;
}否则{
整小时=整小时-12
小时=整数小时+“:”;
ap=“p.m.”;
}
如果(分钟<10){
分钟数=“0”+intMinutes+”:“;
}否则{
分钟数=整数分钟数+“:”;
}
如果(整数秒<10){
秒数=“0”+intSeconds+”;
}否则{
秒=整数秒+“”;
}
时间串=小时+分钟+秒+ap;
Clock.innerHTML=时间字符串;
setTimeout(“tick();”,100);
}
//-->
正如我所说,我运行它,就我所知,它应该运行良好,因为我说我有点新,所以也许有人可以帮助我

再次感谢大家


编辑:在任何人说之前,我完全知道这类东西有预先制作的工作示例,例如jQuery时钟等,但我想自己从头开始制作一个。

它没有启动,主要是因为最初需要至少调用一次函数:

tick();

无论您在哪里学习HTML和JavaScript,请立即停止学习;您正在学习的代码习惯和方法非常、非常差而且过时

问题包括:

  • 没有DOCTYPE:
  • div#Clock
    作为全局变量
    Clock
    访问,该变量已被弃用,应为
    document.getElementById('Clock')
  • 使用一个字符串来设置超时,当它应该是设置超时时(勾选100)
  • 当您应该使用
    text align:center时,使用不推荐使用的
    align
    属性
  • 使用“旧浏览器”JavaScript注释输出技巧
  • 通过
    style
    属性使用内联CSS,这会造成演示和内容分离不良

它没有启动,主要是因为最初需要至少调用一次函数:

tick();

无论您在哪里学习HTML和JavaScript,请立即停止学习;您正在学习的代码习惯和方法非常、非常差而且过时

问题包括:

  • 没有DOCTYPE:
  • div#Clock
    作为全局变量
    Clock
    访问,该变量已被弃用,应为
    document.getElementById('Clock')
  • 使用一个字符串来设置超时,当它应该是设置超时时(勾选100)
  • 当您应该使用
    text align:center时,使用不推荐使用的
    align
    属性
  • 使用“旧浏览器”JavaScript注释输出技巧
  • 通过
    style
    属性使用内联CSS,这会造成演示和内容分离不良

函数startTime()
{
var today=新日期();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
//在数字前面加一个零

函数startTime()
{
var today=新日期();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();

//在数字前面加一个零首先,你需要在某个地方运行函数tick()。如果你只定义它,它不会做任何事情。例如,在body
onLoad
事件中

其次,应在变量中正确设置元素。应通过id获取元素:

var Clock = document.getElementById('Clock');

首先,您需要在某个地方运行函数tick()。如果只定义它,它不会做任何事情。例如,在body
onLoad
事件中

其次,应在变量中正确设置元素。应通过id获取元素:

var Clock = document.getElementById('Clock');

把你的最后两行从

演示:


更新:错过了
文档。getElementById
部分:)

只需更改

演示:


更新:错过了
文档。getElementById
部分:)

这不是很有帮助,因为它只是一个重写,但没有指出原始海报代码中的错误。这不是很有帮助,因为它只是一个重写,但没有指出原始海报代码中的错误。我忘记了DOCTYPE,这不是真的发表在任何地方等,更只是一个发挥,但感谢:)我已经改变了时钟选择器,如前所述,但它仍然没有显示:\Thank伙计!我把window.onload=tick();而且它工作起来很漂亮,再次感谢你,伙计!没问题。它应该是没有括号的
window.onload=tick;
。我还想说内联CSS已经被弃用了,还有
/->
(@Aaron反正你不是从老的浏览器注释开始的)。内联样式在技术上是否不受欢迎仍有争议,但我同意这是演示文稿和内容的错误分离,因此是错误的做法。此外,“旧浏览器”的注释技巧肯定是错误的。我将编辑我的答案以包括这些内容;谢谢!我忘记了DOCTYPE,这实际上不打算在任何地方发布等等,更多信息这是一个剧本,但非常感谢:)我已经改变了前面提到的时钟选择器,但它仍然没有显示:\Thank man!我把window.onload=tick()和它的工作
}    
window.setInterval(tick, 1000);