您现在的位置: 爱51代码网 >> 范文 >> 文章正文
js倒计时,即使刷新也没事源代码

js倒计时,即使刷新也没事源代码

function begin(totalTime){                     var begin=new Date();          var hourB = begin.getHours();          var minuteB=begin.getMinutes();          var secondB=begin.getSeconds();          //截止时间          var deadline = new Date();          var hourD = hourB+totalTime/60;          var minuteD = minuteB+totalTime%60;          var secondD=secondB;          //alert("开始时间:"+hourB+":"+minuteB+":"+secondB+"结束时间:"+hourD+":"+minuteD+":"+secondD);          timer = setInterval("countDown(hourD,minuteD,secondD)", 1000);      }     //倒计时      function countDown(hourD,minuteD,secondD) {          var now=new Date();          var hour = now.getHours();          var minute=now.getMinutes();          var second=now.getSeconds();                     var leftTime=(hourD-hour)*60*60+(minuteD-minute)*60+(secondD-second);//单位:运动会口号 秒          //alert("剩余时间:"+leftTime);          if (leftTime >= 0) {             minutes = Math.floor(leftTime / 60);             seconds = Math.floor(leftTime % 60);             msg = minutes + "分" + seconds + "秒";             document.all["timer"].innerHTML = msg;             if (leftTime == 5 * 60)                 alert('注意,还有5分钟!');             --leftTime;         } else {             clearInterval(timer);             alert("时间到,结束!");         }      }


点击按钮时,触发begin(totalTime)函数
不知道哪里错了,alert("开始时间:"+hourB+":"+minuteB+":"+secondB+"结束时间:"+hourD+":"+minuteD+":"+secondD);显示的正确,alert("剩余时间:"+leftTime);没有显示
我的思路是:
//倒计时,为了防止刷新时重新计时,当点击开始时,记下当前时间
//获得的有考试总时长,当前时间+考试总时长就是结束时间,
//然后根据结束时间来倒计时

timer = setInterval(function(){countDown(hourD,minuteD,secondD);}, 1000);

如果用户刷新页面的话,刷新的时候提示会自动提交试卷,存在cookie里面也可以删除了,如果用ajax来记录用户做了多久,就会很多无用的请求,而且刷新后,还要把刚才用户做的结果给还原,麻烦。

每打开一次页面就去session那里找个开始考试的时间,没有就是now,并存入session。

倒计时,为了防止刷新时重新计时,当点击开始时,记下当前时间
================================================
这一块功能放服务器,用session保存。别的功能要用到时间的都去session里找。

我加了一个函数
function _countDown(hourD,minuteD,secondD){
       return function(){
        countDown(hourD,minuteD,secondD);
       }
 }

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    sharepoint 2010 获取用户信息Us
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    AJAX 访问php数据库返回结果
    js解析java字符串代码
    C#读txt如何只读取部分内容
    C# winform如何取到一个网页
    “Point”是“System.Drawin
    Google paly上如何赚美元
    Eclipse快捷键大全
    android异步网络连接开源:A
    快速理解存储函数、存储过程
    Hibernate性能优化
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |