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

   这篇文章主要介绍了基于jQuery+Cookie实现的防止刷新的在线考试倒计时的方法和示例,有需要的小伙伴可以参考下

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

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

$(function() {
var _minute = parseInt("${exampaper.paperTime }");
var _expiresHours = _minute * 60 * 1000;
 
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;
}
 
//修改cookie的值
function editCookie(name, value, 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;
}
 
//根据名字获取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;
};
};
}

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

时间: 2024-11-05 17:30:57

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

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

基于jQuery+Cookie实现的防止刷新的在线考试倒计时 $(function() { var _minute = parseInt("${exampaper.paperTime }"); var _expiresHours = _minute * 60 * 1000; if(!hasSetCookie()){ addCookie("${examinee.examineeId}", _expiresHours, _expiresHours); } settime

jsp 在线考试 倒计时-基于JSP的在线考试系统倒计时的设计

问题描述 基于JSP的在线考试系统倒计时的设计 使用的是JDK+Tomact+MyEclipse+SQL 2005,求各位高手指教!

基于jquery tab切换(防止页面刷新)_jquery

在网上找了很多jquery效果,都是这样的,于是自己写了一个.防止页面刷新的tab切换, html代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999

基于jquery 更新数据库后局部刷新方法

jquery是这样:  代码如下 复制代码 $(document).ready(function() {  $("#bbajax").click(function()  {   $.ajax({   type:"POST",   url:"DTupdate.jsp",   data:"pname="+$("#idname").val()+"&pprice="+$("#i

基于jquery ajax 用户无刷新登录方法详解_jquery

Ajax框架就是提供模块化实现Ajax功能的集合,Ajax框架可以是各种语言实现的(比如SAJAX有各种语言的实现),Ajax只是jquery中的一部分, 实例1 复制代码 代码如下: $.ajax({ type:'post',//可选get url:'action.php',//这里是接收数据的PHP程序 data:'data='dsa',//传给PHP的数据,多个参数用&连接 dataType:'text',//服务器返回的数据类型 可选XML ,Json jsonp script html

基于jquery ajax 用户无刷新登录详解介绍

Ajax框架就是提供模块化实现Ajax功能的集合,Ajax框架可以是各种语言实现的(比如SAJAX有各种语言的实现),Ajax只是jquery中的一部分, 实例1  代码如下 复制代码 $.ajax({ type:'post',//可选get url:'action.php',//这里是接收数据的PHP程序 data:'data='dsa',//传给PHP的数据,多个参数用&连接 dataType:'text',//服务器返回的数据类型 可选XML ,Json jsonp script html

基于jQuery实现的无刷新表格分页实例_jquery

本文实例讲述了基于jQuery实现的无刷新表格分页.分享给大家供大家参考,具体如下: 效果图如下: html结构: <table id="cs_table" class="datatable"></table> css样式: html,body{margin: 0;padding:0} a:focus {outline: none;} /* 通用表格显示 */ table, th, td {font: 12px Arial,Helvetica

基于 Jquery操作Cookie记录用户查询过信息

这是一个Cookie数据生成的列表, 每次单击查询会存储一个域名,并把最后一次查询的域名放在最上方.本例子最多存储10个,大家可以根据自己情况进行设置 下在咱们一起来看看是怎么实现的吧. 先写一个操作Cookie的JS文件如下 Code  代码如下 复制代码 function getid(id) {return (typeof id == 'string') ? document.getElementById(id) : id};function getOffsetTop(el, p) {var

基于JQuery的cookie插件_jquery

简单使用方法: 复制代码 代码如下: <html> <head> <title>JQuery-Cookie插件</title> <script type="text/javascript" src="jquery-1.4.js"></script> <script type="text/javascript" src="jquery.cookie.js&quo