简单的javascript时钟不工作

时间:2014-12-22 05:17:14

标签: javascript

嗨,这是我的第一个javascript,它不能正常工作。该脚本被编程为显示时钟。代码如下:

<html>
<head>
<script type="text/javascript" src="clock.js" > </script>
</head>
<body onload=display_ct();>
<span id='ct' ></span>
</body>
</html>

javascript是:

function display_c(){
var refresh=1000; // Refresh rate in milli seconds
mytime=setTimeout('display_ct()',refresh)
}

function display_ct() {
var strcount
var x = new Date()
document.getElementById('ct').innerHTML = x;
tt=display_c();
}

执行时我得到一个空白屏幕。错误是什么,在哪里?

TIA:)

4 个答案:

答案 0 :(得分:2)

你应该与分号中的结尾符号一致。此外,您应该检查clock.js是否正在加载;最后将onload处理程序放在引号中,如

&#13;
&#13;
function display_c() {
  var refresh = 1000; // Refresh rate in milli seconds
  mytime = setTimeout('display_ct()', refresh);
}

function display_ct() {
  var x = new Date();
  document.getElementById('ct').innerHTML = x;
  tt = display_c();
}
&#13;
<html>
<body onload="display_ct();">
  <span id='ct'></span>
</body>
</html>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

请在“”。

中附上body标签的onload属性值

应该是

<body  onload="display_ct();">

  

答案 2 :(得分:0)

尝试使用setInterval(),此行也无法在某些浏览器中使用:

setTimeout('display_ct()',refresh)

&#13;
&#13;
var ct;

function display_c() {
  //timer block
  setInterval(function() {
    ct.innerHTML = new Date().toString();
  }, 1000); //execute every 1 second
}

function display_ct() {
  ct = document.getElementById('ct'); //initialize once.
  display_c();
}
&#13;
<!-- onload, enclosed in quotes -->

<body onload="display_ct()">
  <span id='ct'>Loading ...</span>
</body>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

输入display_ct功能时出现两个错误。您需要使用引号包装<body>的{​​{1}}事件,并删除onload上的引号和括号。见下文。

&#13;
&#13;
setTimeout
&#13;
function display_c() {
  var refresh = 1000; // Refresh rate in milli seconds
  mytime = setTimeout(display_ct, refresh);
}

function display_ct() {
  var x = new Date();
  document.getElementById('ct').innerHTML = x;
  display_c();
}
&#13;
&#13;
&#13;