JavaScript时钟获胜'无法正确显示
JavaScript Clock won't display correctly
我一直在自学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>
正如我所说,我运行了它,就我所见,它应该运行得很好,就像我所说的,我有点新,所以也许有人可以帮助我。
再次感谢各位。
编辑:在任何人说之前,我完全知道有这种东西的预制工作示例,比如jQuery时钟等,但我想自己从头开始做一个。
它没有启动,主要是因为最初需要至少调用一次函数:
tick();
如果您正在学习HTML和JavaScript,请立即停止学习;您正在学习的代码习惯和方法非常非常差,而且已经过时了。
问题包括:
- 没有DOCTYPE:
<!DOCTYPE html>
- 将
div#Clock
作为全局变量Clock
访问,该变量已弃用,应为document.getElementById('Clock');
- 使用字符串到
setTimeout
,而它实际上应该是setTimeout(tick, 100);
- 使用不推荐使用的
align
属性,而应该在CSS中使用text-align: center;
- 使用"旧浏览器"JavaScript注释技巧
- 通过
style
属性使用内联CSS,这构成了演示和内容的不良分离
首先,您需要在某个地方运行函数tick((。如果你只定义它,它不会起任何作用。例如,在body onLoad
事件中。
第二,你的元素应该在变量中正确设置。你应该通过id:获得元素
var Clock = document.getElementById('Clock');
只需从
window.setTimeout("tick();", 100);
}
至
}
window.setInterval(tick, 1000);
演示:http://jsfiddle.net/naveen/3PQ8B/1/
更新:错过了document.getElementById
部分:(
<html>
<head>
<script type="text/javascript">
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}
function checkTime(i)
{
if (i<10)
{
i="0" + i;
}
return i;
}
</script>
</head>
<body onload="startTime()">
<div id="txt"></div>
</body>
</html>
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何使时钟的显示与实时同步
- 如何设置此javascript以正确显示花费的总时间,显示超出正常时钟的分钟数
- Java 脚本倒计时时钟不会显示
- 在 aspx 页上显示实时时钟(使用服务器时间)
- JavaScript 时钟无法正确显示
- 用 PHP 显示时钟
- 显示多时钟
- 带有java脚本的实时时钟,显示实际的秒分和小时
- Javascript 世界时钟仅显示在表中
- 在JSP屏幕上显示动态UTC时钟时间
- 我的javascript时钟赢了't显示时间
- 扩展时钟组件的角度指令以单独显示日期时间元素
- PHP,Javascript实时时钟:如何正确显示数据库上次更新的时间
- 如何在母版页上显示动态时钟
- Javascript时钟没有显示
- JavaScript时钟获胜'无法正确显示
- 如何制作一个显示英国时间的时钟,但整个应用程序都是印度时间
- 如何使用dojo或dijit显示时间/时钟
- 如何计算时间和显示在H-M与12小时时钟,基于距离和速度使用javascript