日期:2014-05-20  浏览次数:20646 次

用jquery实现桌面始终一秒钟局部刷新一次的问题
<jsp:directive.page import="com.ljj.model.Manager"/>
function displayTime(){
  document.getElementById("getToday").innerHTML='<%=getSystemTime.getToday()%>';
}

$(document).ready(function(){
setTimeout(displayTime(), 1000);
});
主要代码如上所示,可以显示时钟,但显示后只有手动刷新才能重新获得新时间,不能自动刷新,求高手答疑。。。。

------解决方案--------------------
<%=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);

------解决方案--------------------
JScript code
哦。
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);

------解决方案--------------------
setTimeout(displayTime(), 1000);是1秒后才执行dispalyTime函数,而且只执行一次就完了。

建议:
1.在diaplayTime函数定义的最后一句话再加上setTimeout(displayTime(), 1000);即可

2.使用setInterval(displayTime(), 1000);表示每隔1秒执行一次
------解决方案--------------------
我测好交给你了。你试试吧。

HTML code

 <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>