<jsp:directive.page import="com.ljj.model.Manager"/>
function displayTime(){
  document.getElementById("getToday").innerHTML='<%=getSystemTime.getToday()%>';
}$(document).ready(function(){
setTimeout(displayTime(), 1000);
});
主要代码如上所示,可以显示时钟,但显示后只有手动刷新才能重新获得新时间,不能自动刷新,求高手答疑。

解决方案 »

  1.   

    <%=getSystemTime.getToday()%>这个JSP生成了HTML后是不变的,你可以用JS来得到电脑的时间。
    function displayTime(){
    var date = new Date(); //日期对象
    var now = "";
    now = date.getFullYear()+"年"; //读英文就行了
    now = now + (date.getMonth()+1)+"月"; //取月的时候取的是当前月-1如果想取当前月+1就可以了
    now = now + date.getDate()+"日";
    now = now + date.getHours()+"时";
    now = now + date.getMinutes()+"分";
    now = now + date.getSeconds()+"秒";
     document.getElementById("getToday").innerHTML=now;}setTimeout(displayTime(), 1000);
      

  2.   

    我看了下,display这个方法只被调用了一次,没有循环调用
      

  3.   

    你这个代码当然只有运行1次,你只指定运行了一次
    循环延迟执行函数是 setInterval
      

  4.   

    你这个代码当然只有运行1次,你只指定运行了一次
    循环延迟执行函数是 setInterval 
      

  5.   

    setInterval用了这个,也还是一样的效果,悲剧悲剧
      

  6.   

    哦。
    function displayTime(){
    var date = new Date(); //日期对象
    var now = "";
    now = date.getFullYear()+"年"; //读英文就行了
    now = now + (date.getMonth()+1)+"月"; //取月的时候取的是当前月-1如果想取当前月+1就可以了
    now = now + date.getDate()+"日";
    now = now + date.getHours()+"时";
    now = now + date.getMinutes()+"分";
    now = now + date.getSeconds()+"秒";
     document.getElementById("getToday").innerHTML=now;
    setTimeout(displayTime(), 1000);
    }
    setTimeout(displayTime(), 1000);这样试试。。或者换楼上的。
      

  7.   

    setTimeout(displayTime(), 1000);是1秒后才执行dispalyTime函数,而且只执行一次就完了。建议:
    1.在diaplayTime函数定义的最后一句话再加上setTimeout(displayTime(), 1000);即可2.使用setInterval(displayTime(), 1000);表示每隔1秒执行一次
      

  8.   

    我测好交给你了。你试试吧。
     <body onload="displayTime()">
    <div id='getToday'><div>
     </body>
       <script>
    function displayTime(){
    var date = new Date(); //日期对象
    var now = "";
    now = date.getFullYear()+"年"; //读英文就行了
    now = now + (date.getMonth()+1)+"月"; //取月的时候取的是当前月-1如果想取当前月+1就可以了
    now = now + date.getDate()+"日";
    now = now + date.getHours()+"时";
    now = now + date.getMinutes()+"分";
    now = now + date.getSeconds()+"秒";
    document.getElementById("getToday").innerHTML=now;
    setTimeout("displayTime()", 1000);
    }
      </script>
      

  9.   

    嗯 我也试出来了,是javabean的问题,用Date()就可以,不过谢谢啦还是,就这样结贴吧 - =