Javascript时钟只适用于嵌入式代码?怎么会?

时间:2013-02-13 07:31:40

标签: javascript html

确定。所以我正在学习如何制作一个时钟。去了W3schools检查代码。现在我想从军事时间等处理它。但我似乎无法让代码工作。当我把代码放在一个JS文件中。我没有运行代码。如果我把它放在嵌入式HTML中它可以工作吗?我在这做错了什么?

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(function(){startTime()},500);
}

function checkTime(i)
{
if (i<10)
{
i="0" + i;
  }
return i;
}

HTMl如下

<!doctype html>
<html>
<head>
<meta charset="utf-8">

<title>City Clock</title>
<link rel="stylesheet" href="clock.css">
</head>

<body>  
<h1> Austen's Clock</h1>



</head>

<body onload="startTime()">
<div id="txt"></div>
</body>
</html>


<script type="text/javascript" src="clock.js"></script>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

<script type="text/javascript" src="clock.js"></script>移到文档的头部

OR

重写你这样的代码

window.onload = function  startTime() {.....

答案 1 :(得分:0)

您在第一个结束<script>标记之后添加了</html>标记 - 此后不应该有任何其他元素,因此应该被忽略。< / p>

移动它,使其成为</body>标记内的最后一个内容。

[FWIW,您实际上 代码在MacOS X上的Chrome和Firefox中都有效。至少在Chrome中,<script>元素会自动移到{{1}内通过浏览器标记。]

答案 2 :(得分:0)

回顾先前的回复:

<!doctype html>
<html>
<head>
<meta charset="utf-8">

<title>City Clock</title>
<link rel="stylesheet" href="clock.css">
<script type="text/javascript" src="clock.js"></script>
</head>

<body onload="startTime()">

<h1> Austen's Clock</h1>
<div id="txt"></div>

</body>
</html>