用setInterval(fn , millises)函数可以轻易的做一个时钟。
window.setTimeout(fn , millisec) 函数内的fn因为只会执行一次 ,所以不好做 。  能用这个函数加递归实现吗?还有ajax发送请求以后 只能通过responseTest得到字符串吗?  可不可以访问Servlet , 返回一个对象什么的。 如果能,那要怎么接收呢? 

解决方案 »

  1.   

    1.
    tid = null;
    tid = setTimeout(fn, 1000)
    function fn(){
       .....
       if(tid!=null) { clearTimeout(tid); tid=null;}
       tid = setTimeout(fn, 1000)
    }2. json.org 上有Java的序列化,反序列化API
     txt = xhr.responseText; 得到java序列化的字符串
     obj = eval(txt); 得到js对象
      

  2.   

    可以递归,就是fn里面再写一次fn有这么一些东西的,但也是客户端再配置一次返回的对象,听说是更加麻烦,你查一下 ext.direct
      

  3.   


      <body>
      <div id = "message" >
       
      </div>
        <script type="text/javascript">
         setTimeout(function(){
         document.getElementById("message").innerHTML = new Date().toLocaleString();
         },1000)
        </script>
      </body>
    怎样递归? 怎样调用自身函数啊? 实现一个时钟功能。
      

  4.   

    <body>
      <div id = "message" >
               
      </div>
        <script type="text/javascript">
    st = function(){
    document.getElementById("message").innerHTML = new Date().toLocaleString();
    setTimeout(st,1000);
    }
    st();
        </script>
      </body>
      

  5.   

     tid = setTimeout(fn, 1000)
     function fn(){
       tid = setTimeout(fn, 1000)
     } 或者 setInterval(fn, 1000)
      

  6.   

    <script>
    function test(){
    var value = $('#p').progressbar('getValue');
    if (value < 100){
    value += Math.floor(Math.random() * 10);
    $('#p').progressbar('setValue', value);
    setTimeout(arguments.callee, 200); }
    }
    </script>
    这是http://www.jeasyui.com/demo/index.php中的一个例子,这个递归实现较优雅