<script type="text/javascript">
            var today=new Date();
            $(document).ready(showtime());
            function showtime(){
            var str=today.getHours()+":";
            str+=today.getMinutes()+":";
            str+=today.getSeconds();
            setTimeout("showtime()",1000);
            $("#showtime").text(str); 
            }
            </script>      打开网页后只显示当前时间。网上看到很多例子是把script写到body里但我不想这么做,请问问题出在哪里?

解决方案 »

  1.   

    不太明白楼主说的意思
    页面导入jquery了没
      

  2.   

    你这段代码问题太多。我修改了一下。 <script type="text/javascript">
                
    function showtime(){
    var today=new Date();
                var str=today.getHours()+":";
                str+=today.getMinutes()+":";
                str+=today.getSeconds();
      
                timeDiv.innerHTML=str; 
                }
                </script>
    <body onload="setInterval('showtime()',1000)">
    <div id="timeDiv"></div>
    </body>--------------------------------------帅签分割线-------------------------------------------------
      

  3.   

    首先是setInterval不是setTimeout.
    然后new Date()和setInterval的位置不对。
    你可以去w3cschool上去学习学习。
    --------------------------------------帅签分割线-------------------------------------------------
      

  4.   

      谢谢姐姐……。不过恕我直言new Date()是全局变量,如果有错的话应该不会有显示。至于第二个应该用setTimeout()还是setInterval(),其实两个都可以的。如果用setTimeout()那就要递归就是我打出来的这样,如果用setInterval()那就不需要递归。为什么我不用setInterval(),应为我觉得setInterval()有明显的视觉延迟,不清楚为什么……
      我在琢磨琢磨吧!
      

  5.   

    楼主  你递归调用 showtime()为的就是每次重新获取时间 那当让要把 var today=new Date();
    放在showtime()里重新获取时间了 
      

  6.   

     <script type="text/javascript">
                $(document).ready(function (){
                     showtime();
                 });
                function showtime(){
                var today=new Date();
                var str=today.getHours()+":";
                str+=today.getMinutes()+":";
                str+=today.getSeconds();
                setTimeout("showtime()",1000);
                $("#showtime").text(str); 
                }
                </script>这样应该就ok了
      

  7.   

    4楼 +1你的new Date()全局变量,从词法上和语法上讲是都没有错。但是你用做全局的,在你这个程序要实现的功能的前提下,是存在着逻辑错误的。这也就是为什么你的时间不更新,这个data永远都是你new 那一刻的date。
    正确的是用setInterval,用setTimeout也可以。你查查这两的区别就会明白的。