倒计时开始,但按button控件后计时又重新开始,怎么让它不间断?请指教。

解决方案 »

  1.   

    试下框架或者iframe能不能解决
      

  2.   

    不太可能,或者只能把计时器当前状态保存下来,然后在button的事件里加上继续计时
      

  3.   

    用Session保存状态,在别的地方继续运算倒计时;
    或者在页面page_load事件加上一句
    if (!Page.IsPostBack)
    {
      //倒计时运行
    }
    希望能带来点思路
      

  4.   

    用Session保存状态,在别的地方继续运算倒计时;
    或者在页面page_load事件加上一句
    if (!Page.IsPostBack)
    {
      //倒计时运行
    }
    希望能带来点思路
      

  5.   

    但是计时是用java脚本在客户端实现的(不知道还有什么好的实现方法),怎么用session保存其状态?
    我做的是一个考试系统,即进入考试页面倒计时开始,即使刷新页面也不会影响到倒计时的运行,不知有什么好的办法?
    希望高人能指点一下。
      

  6.   

    function aa()
    {
    var stime=document.Form1.hidden2.value;
       
    a=Number(stime);

    hou=(a-(a%60))/60;

     min=(a%60);

    sec=1;
    flag=window.setInterval("update();",1000);

    } function update()
        { sec--;
    if (sec<0)
    {
    sec=59;
    min--;
    }
      if (min<0)
    {
      min=59;
      hou--;
        if (hou<0)
       
       {
       document.Form1.btnSave.click();
      
       window.clearInterval(flag);
      
        
        
      
       }
      
      
       }
    </script>
    接分!
      

  7.   

    to penning(我在身边):如果服务器端计时,n个客户端考试(并不一定同时考),怎么给每一个考生计不同的时间?
    头也大了。
      

  8.   

    我觉得提供一个思路!页面打开的时候,从系统取系统时间time1,设定时间time2,然后写个减掉时间的方法,private Datetime J_time(time1,time2);返回一个倒计时的值!怎么刷新你都不怕了!
      

  9.   

    to robin0925(棱石):但倒计时我要显示在页面,服务器的时间值怎么让它动态的显示在页面(从100分钟一直不停的往下减),如果你写一个J_time(time1,time2) 只能返回当时时间吧。
      

  10.   

    那就按: srz007(呵呵) 的]
    使用服务器时间做标准
    总计考试时间是  [时间总]
    用户登陆时为服务器[  时间1]
    使用一段时间后服务器时间为  [时间2]
    如果用户这个时候刷新了页,先把此时的时间保存为[时间2],然后重新在服务器端计算剩余时间
    [时间总]-([时间2]-[时间1])
    最后把这个时间差扔给客户端的JS,让它接着这个差继续倒计时???
      

  11.   

    你的问题,我理解的不是太清楚,只能按我理解的来讲了用考生登录的帐号建立一个 Cache 将它的 值存入 系统时间,然后,做个隐藏页面,每秒刷新一次,更新这个 Cache, 我想一秒钟应该够了吧
    然后在,做判断他是否已过了考试的时间
      

  12.   

    srz007(呵呵)的算法是不错,我先试一试,不过剩余的时间怎么传给客户端,能不能写一个简单的算法(我的js功底一般)。
    srz007(呵呵)兄:你要是看到此帖的话,请帮个忙,写个大致的算法。
    robin0925(棱石)兄:你也帮我一下。
      

  13.   

    to winwang168(无名):隐藏页面怎么实现一下,不过我总觉得每秒刷新一次是不有可能造成延时,你觉得?
      

  14.   

    <script language="javascript">
    <!--
    var ti;
    var s=0;
    var min=100;
    var minute="";
    function StartTimer(){
    s++;
    if(s>60)
    {
    min--;
    s=1;
    }
    minute = ((min<10)?'0':'') + min;
    document.Form1.Text1.value = minute;
    ti=window.setTimeout("StartTimer()",1000);
    }
    //-->
    </script>
    高手请问:
    通过什么方法能在服务器端捕获这段代码里的min变量,在刷新页面时把当时的时间值传给min,让它接着计时?这样不久实现了刷新不变的问题了么?
    或者还有没有更好的办法。
      

  15.   

    每刷新页面是事件也是从page_init开始的,除非你将当前时间保存起来,在重新页面的时候重新以保存起来的时间为标准再次进行倒计