不依赖客户端时间的倒计时js程序!
2007-05-28 17:59:47
/ 个人分类:开源
这天在做一个考试系统,要涉及到考试倒计时,这个倒计时起始时间和结束时间要依赖于服务器端时间,而倒计时又要在客户端使用js,因为不可能每隔1秒钟就从服务器返回一个时间,使用ajax的返回的也可以,不过那样肯定繁多了,研究了2个小时,google了不少,几乎没有发现直接使用的例子,参考了一些资料,结合easyjweb写了一个简单的js倒计时,大家给扔扔转头:
var startTime = new Date("$!time");
var time=$!paper.time;
var EndTime=startTime.getTime()+time*60*1000;
var intervalTime=startTime.getTime();
function GetRTime(){
var nMS=EndTime-intervalTime;
var nH=Math.floor(nMS/(1000*60*60)) % 24;
var nM=Math.floor(nMS/(1000*60)) % 60;
var nS=Math.floor(nMS/1000) % 60;
document.getElementById("RemainH").innerHTML=nH;
document.getElementById("RemainM").innerHTML=nM;
document.getElementById("RemainS").innerHTML=nS;
intervalTime=intervalTime+1000;
if(nH==0&nM==5&nS==0)
{
alert("还有最后五分钟!");
}
if(nH==0&nM==0&nS==0){
var paperForm=document.getElementById("ListForm");
paperForm.submit();
alert("考试时间到,试卷自动提交!");
}
setTimeout("GetRTime()",1000);
}
window.onload=GetRTime;
这里的$!time是结合easyjweb从后台出过来的服务器时间,也就是考试开始时间,$!paper.time是考试时间,这个是试卷生成时录入的,然后就是js了!
相关阅读:
- 再拥开源微软宣布其身份识别系统开源 (joejoe0332, 2007-5-25)
- 热点新闻观察:微软非要"扼杀"开源? (joejoe0332, 2007-5-27)
- 微软Novell协议曝光 专利豁免排除OpenOffice (joejoe0332, 2007-5-27)
- RedHat计划推出JBoss SOA解决方案 (joejoe0332, 2007-5-28)
- 备好书签功能!迎接Firefox 3 alpha 5 (joejoe0332, 2007-5-28)
- Google开源“掌门”:Google的开源工作 (joejoe0332, 2007-5-28)
- 微软Novell协议将给开源带来怎样的未来 (joejoe0332, 2007-5-28)
- 开源生活:与你息息相关的十大开源应用 (joejoe0332, 2007-5-28)
- 三大猜想:微软对开源发起的专利战怎收场 (joejoe0332, 2007-5-28)
- mangos:体验开源的魔兽世界 (joejoe0332, 2007-5-28)
论坛模式
推荐
收藏
等级(0)
编辑
管理
查看(3189)
评论(3)
TAG:
easyjweb
js
倒计时
开源
-
tianyi
发布于2007-05-29 17:05:33
-
还有,这个试卷考试肯定是需要自动间隔一定时间自己同步提交的!
-
tianyi
发布于2007-05-29 17:04:37
-
楼上说的很对
楼上说的很多,试卷使用ajax的同步提交,不会影响试卷时间的~
-
renyifeng504
发布于2007-05-29 09:37:57
-
这个考试系统面向多少人同时开考的??
个人觉得,等考完试一次性提高,肯定是不合理的,由于客观或主观原因万一学生不小心刷新了一下所有的填写内容都得重新写.如果这个考试系统面向小范围人数的话,大可以即填即保存来实现.
对于计时支持