一个实时显示时间的代码,可为什么非得每次刷新一次才可以显示最新,事实上已经用setInterval每秒调一次显示最新啊,奇怪?script type="text/javascript">
var timeclock=new Date();
var minute=timeclock.getMinutes();
var hour=timeclock.getHours();
var second=timeclock.getSeconds();
setInterval("clock( )",1000);
function clock(  ){
document.write("现在时间是"+hour+"时"+minute+"分钟"+second+"秒");
}  </script>

解决方案 »

  1.   

    <div id="t"></div>
    <script type="text/javascript">setInterval("clock( )",1000);
    function clock( ){
    var timeclock=new Date();
    var minute=timeclock.getMinutes();
    var hour=timeclock.getHours();
    var second=timeclock.getSeconds();
    document.getElementById("t").innerHTML = "现在时间是"+hour+"时"+minute+"分钟"+second+"秒"
    }
    </script>
      

  2.   

    确实可以。为什么document.write就不可以
    非要用innerHTML去改变元素
      

  3.   

    只能在文档正在被解析的时候使用documen.write 方法 ,也就是整个文档加载的时候
    不然他会把整个文档给清空。
      

  4.   

    反正你只要记住一点, 在事件句柄中,不能使用这个方法。不然得不到你所期望的结果的。 如果这样使用,你原本的文档将会被丢弃,他会创建一个新的文档,就好比较默认调用document.open方法 
      

  5.   

    document.write() :  
    在载入页面后,浏览器输出流自动关闭;在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流。它将清除当前页面内容(包括源文档的任何变量或值)
      

  6.   

    就是多看了些资料 多上了会csdn 呵呵
      

  7.   


    <html>
    <head>
    <script type="text/javascript">
    function initEvent(){
    var today = new Date();
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    document.getElementById("txt").innerHTML = h+":"+m+":"+s;
    //setTimeout("initEvent()", 1000);
    }
    setInterval("initEvent()", 1000);
    </script>
    </head>
    <body onload="initEvent()">
    <div id="txt"></div>
    </body>
    </html>
      

  8.   

    新手不要使用document.write(),这是常识。
      

  9.   

    这是write导致的么?
    哎...~~!!!!!!
      

  10.   

    为何不能用document.write
    很多书上 经常拿这个作为输出的示例
    因此新手用它也就不奇怪。
    只是没有研究背后还有如此多的东西