<script>
function clock_12h(){

var today=new Date();
var year=1900+today.getYear();
var month=today.getMonth();
var day=today.getDay();
var hour=today.getHours();
var minute=today.getMinutes();
var second=today.getSeconds();
// document.write(year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second);
   document.body.innerHTML=year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second;
}
var myTime=setInterval("clock_12h()",1000);
</script>
</head>
<body>
</body>为什么我在使用document.write()的时候页面不能动态显示时间,而使用document.body.innerHTML的时候却可以动态使用时间?

解决方案 »

  1.   

    我的意思是使用document.write()不能动态显示,使用document.body.innerHTML就可以动态显示啊
      

  2.   

    你的方法我测试过了,document.write()是往页面输出结果,所以如果是document.write的话,会直接在页面输出结果,一行一行的输出用document.writeln()方法。就像C#中的Console.WriteLine()方法或者是Java中的System.out.println()方法一样。
    document.body.innerHTML是设置页面的innerHTML,也就是说你每秒调用一次你的js函数时,它会覆盖上一次的结果,进而让你觉得是每一秒显示一次一样。
      

  3.   

    那么当我用document.write()的时候,var myTime=setInterval("clock_12h()",1000);这句话也应该执行到了,可是为什么看不到效果呢?
      

  4.   

    你这样document.write()会不停向文档中写内容啊,你这动态时间追加在原来的时间后面。。
    innerHTML是改变标签中的值,你这样就感觉上就是时间在走。。
      

  5.   

    可是使用docunemt.write()时间不在走啊,只有每次重新打开才能看到不同的值
      

  6.   

    额。。
    请问在你电脑上,使用document.write()是什么效果?秒数也在不停地改变吗?,我这边刷新都没有用,只有重新打开才会显示不同的值,但是innerHTML就达到了我要的效果了