JavaScript时钟赢得';不能正确显示
我一直在自学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
<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注释输出技巧
- 通过
属性使用内联CSS,这会造成演示和内容分离不良style
tick();
无论您在哪里学习HTML和JavaScript,请立即停止学习;您正在学习的代码习惯和方法非常、非常差而且过时 问题包括:
- 没有DOCTYPE:
- 将
作为全局变量div#Clock
访问,该变量已被弃用,应为Clock
document.getElementById('Clock')代码>
- 使用一个字符串来设置超时,当它应该是设置超时时(勾选100)代码>
- 当您应该使用
text align:center时,使用不推荐使用的
属性align
- 使用“旧浏览器”JavaScript注释输出技巧
- 通过
属性使用内联CSS,这会造成演示和内容分离不良style
函数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()。如果你只定义它,它不会做任何事情。例如,在bodyonLoad
事件中
其次,应在变量中正确设置元素。应通过id获取元素:
var Clock = document.getElementById('Clock');
首先,您需要在某个地方运行函数tick()。如果只定义它,它不会做任何事情。例如,在bodyonLoad
事件中
其次,应在变量中正确设置元素。应通过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);