js数字时钟——怎么不能用呢?
发布网友
发布时间:2022-05-15 04:33
我来回答
共2个回答
热心网友
时间:2022-05-15 06:02
因为js代码是从上到下执行的,所以
var clock = document.getElementById("myclock");
找不到元素
clock是空的
所以可以将js代码放到div后面,也可以将 var clock = document.getElementById("myclock");
定义放到 setInterval的function里
如:
<script type="text/javascript" language="javascript">
setInterval(function (){
var clock = document.getElementById("myclock");
var d = new Date();
clock.innerHTML = d.getHours() + ":" + d.getMinutes() + ":" +d.getSeconds();
},1000);
</script>
<div id="myclock">
00:00:00
</div>追问你说JS代码是从上到下执行的,难道把 var clock = document.getElementById("myclock");
定义放到 setInterval的function里就行了了吗,为什么?
追答因为setInterval是每秒执行一次(按你的设置)的,第一次执行function时,页面未初始化完毕,所以clock元素找不到,第二次执行时,页面已经初始化完毕,所以clock元素可以找到,所以第一秒显示:00:00:00,第二秒开始时才能正确显示时间,如果想开始就正确显示时间还是把JS代码放到div元素后面好一些~
热心网友
时间:2022-05-15 07:20
把js代码放到<div id="myclock">
00:00:00
</div>
这个后面