基于jQuery+Cookie实现的防止刷新的在线考试倒计时

前端之家收集整理的这篇文章主要介绍了基于jQuery+Cookie实现的防止刷新的在线考试倒计时前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

基于jQuery+Cookie实现的防止刷新的在线考试倒计时

if(!hasSetCookie()){ addCookie("${examinee.examineeId}",_expiresHours,_expiresHours); } settime($("#remainTime")); }); function hasSetCookie(){ var strCookie = document.cookie; var arrCookie = strCookie.split("; "); for (var i = 0; i < arrCookie.length; i++) { var arr = arrCookie[i].split("="); if (arr[0] == "${examinee.examineeId}") { return true; } }; return false; } //开始倒计时 function settime(remainTime) { var _time = getCookieValue("871d31bacfd4451484c5f70f8860c2a9"); var _countdown = parseInt(getCookieValue("${examinee.examineeId}")) / 1000; if (_countdown <= 0) { alert("考试时间到!"); endExam(); } else { var _second = _countdown % 60; var _minute = parseInt(_countdown / 60) % 60; var _hour = parseInt(parseInt(_countdown / 60) / 60); if (_hour < 10) _hour = "0" + _hour.toString(); if (_second < 10) _second = "0" + _second.toString(); if (_minute < 10) _minute = "0" + _minute.toString(); remainTime.html(_hour + ":" + _minute + ":" + _second); _countdown--; editCookie("${examinee.examineeId}",_countdown * 1000,_countdown * 1000); } //每1000毫秒执行一次 setTimeout(function() { settime(remainTime); },1000); }; //时添加cookie function addCookie(name,value,expiresHours) { var cookieString = name + "=" + escape(value); //escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 //判断是否设置过期时间,0代表关闭浏览器时失效 if (expiresHours > 0) { var date = new Date(); date.setTime(date.getTime() + expiresHours * 1000); cookieString = cookieString + ";expires=" + date.toUTCString(); } document.cookie = cookieString; } //<a href="/tag/xiugai/" target="_blank" class="keywords">修改</a>cookie的值 function editCookie(name,expiresHours) { var cookieString = name + "=" + escape(value); if (expiresHours > 0) { var date = new Date(); date.setTime(date.getTime() + expiresHours * 1000); //单位是毫秒 cookieString = cookieString + ";expires=" + date.toGMTString(); } document.cookie = cookieString; } //根据名字<a href="/tag/huoqu/" target="_blank" class="keywords">获取</a>cookie的值 function getCookieValue(name) { var strCookie = document.cookie; var arrCookie = strCookie.split("; "); for (var i = 0; i < arrCookie.length; i++) { var arr = arrCookie[i].split("="); if (arr[0] == name) { return unescape(arr[1]); break; } else { continue; }; }; }

以上所述就是本文的全部内容了,希望大家能够喜欢。

猜你在找的jQuery相关文章