日期:2014-05-17  浏览次数:20390 次

考试倒计时,页面刷新不会从新计时
不管js 或者 ajax 都行、 我写的js 页面一刷新 计时又重新开始啊、、求大神解决!给个例子喔

------解决方案--------------------
C# code

 <script language=javascript>
var sec=0;var min=0;var hou=0;flag=0;idt=window.setTimeout("update();",1000);
function update()
{  
 if (min==19 && sec==59) {alert("还剩10分钟,请抓紧时间答卷!");}
 if (min==30) {alert("考试时间结束!");}// document.getElementById("Button1").click(); //规定时间结束后自动提交按钮
 sec++;
 if(sec==60){sec=0;min+=1;}
 if(min==60){min=0;hou+=1;}
 if((min>0)&&(flag==0)){flag=1;}
 document.getElementById("Text1").value="已用时间:"+hou+"时"+min+"分"+sec+"秒";
 idt=window.setTimeout("update();",2000);
 
}
</script>

1 上述代码放入head中
2 from中放入一个html控件Text1,用于显示时间
3 后台代码Page_load中代码:
 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)// 只有首次加载时,执行此方法,回传页面不执行此方法            {
                Page.ClientScript.RegisterStartupScript(GetType(), "info", "update();", true);
            }
        }

------解决方案--------------------
探讨

这段代码网上有 str[0], str[1] 是什么我 一直没搞明白啊 ! 也不知道怎么去实现呢引用:
在考试系统中难免会有倒计时提示,我们第一想到的是用js的settimeout

但是如果页面刷新则重新倒计时,以下是一种解决方案:

1.用settimeout每隔一秒触发一次

2.用cookies在cookies中读取剩余时间


C# code

……