我希望做1个效果 就是网页上 动态显示 电脑上的事件  例如 年 月 日 小时 分 秒 然后秒不停的动 到60进位
自己写了个 效果是有,但网页几十秒就会挂掉 ,请大家看看能否帮我优化下,或者给一个成熟的方案 多谢了。代码如下:
 function Clock() {            var myDate = new Date();
            var year = myDate.getYear();
            var month = myDate.getMonth()+1;
            var day = myDate.getDay();
            var hour = myDate.getHours();
            var minute = myDate.getMinutes();
            var second = myDate.getSeconds();            var time = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;            var spOjb = document.getElementById("spTimer");
            spOjb.innerText = time;            window.setInterval("Clock()", 1000);
        }
在 body的 onload 中调用此方法 显示在 html 页面中的 span标记里 :
<span id="spTimer" style="color:Red; font-weight: bold;"></span>

解决方案 »

  1.   


    function Clock() {
    var myDate = new Date();
    var year = myDate.getYear();
    var month = myDate.getMonth()+1;
    var day = myDate.getDay();
    var hour = myDate.getHours();
    var minute = myDate.getMinutes();
    var second = myDate.getSeconds(); var time = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second; var spOjb = document.getElementById("spTimer");
    spOjb.innerHTML = time;
                                    // 写在函数外  window.setInterval("Clock()", 1000);
    }
    window.setInterval("Clock()", 1000);
      

  2.   


    <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);  //setInterval
    </script>
    </head>
    <body onload="initEvent()">
        <span id="txt"></span>
    </body>
    </html>
      

  3.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
    <div id="time">
    </div>
    <script>setInterval("document.getElementById('time').innerHTML=new Date().toLocaleString()",1000);
    </script>
    </body>
    </html>