先把他登录的用户退出,然后登你的用户名就可以了呀
没问题吧,不过你的代码少了个dom元素tTime
<script type="text/javascript">
var ksTime; //定义考试时间以分钟计算
ksTime = 0.5;//设置时间 这里设置为0.1代表是6秒,测试用
if(readCookie("ss")==""){
setCookie("ss",new Date(),ksTime/60);
}
function sT(){
var tti = new Date();
var lt = parseInt((tti-new Date(readCookie("ss")))/1000)
if((ksTime*60-lt)<0){
setCookie("ss",new Date(),0);
alert("考试时间到!\n即将提交试卷!");
document.forms[0].submit();
}else{
lm = Math.floor(lt / 60);
ls = lt % 60;
allY = ksTime*60-lt;
ym = Math.floor(allY / 60);
ys = allY % 60;
document.getElementById("tTime").innerHTML = "考试已经开始了" + lm + "分" + ls + "秒" + ",剩余" + ym + "分" + ys + "秒";
var ttt = setTimeout("sT()",1000);
}
}
function readCookie(name) {
var cookieValue = "";
var search = name + "=";
if(document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1)
end = document.cookie.length;
cookieValue = document.cookie.substring(offset, end)
}
}
return cookieValue;
}
function setCookie(name, value, hours) {
var expire = "";
if(hours != null) {
expire = new Date((new Date()).getTime() + hours * 3600000);
expire = "; expires=" + expire.toGMTString();
}
document.cookie = name + "=" + value + expire;
}
</script>
<body onload="sT()">
<div id="tTime"></div>
<form action="" method="post">
<input type="submit" value=" 提交答卷 " name="Submit" />
<td colspan="3"><div align="center">
<input type="submit" value=" 提交答卷 " name="Submit" />
</div></td>
</form>
</body>
当你提交的时候写一个标识,当下次在有人点击的时候让这个表示从零重新开始累加
你设置了expires有效期,过期了导致sT函数读取到空的值,所以lt会得到错误的时间,显示NaN的值,而不断执行else分支重启计时器。
你应该同时判断cookie是否已经失效,失效也算是结算了
function sT(){
var tti = new Date();
var s = readCookie("ss");////单独出来
var lt = parseInt((tti-new Date(readCookie("ss")))/1000)
if (s == '' || (ksTime * 60 - lt) < 0) {//判断cookie是否已经失效,失效s就是空,需要多增加一个判断
setCookie("ss",new Date(),0);
alert("考试时间到!\n即将提交试卷!");
document.forms[0].submit();
}else{
lm = Math.floor(lt / 60);
ls = lt % 60;
allY = ksTime*60-lt;
ym = Math.floor(allY / 60);
ys = allY % 60;
document.getElementById("tTime").innerHTML = "考试已经开始了" + lm + "分" + ls + "秒" + ",剩余" + ym + "分" + ys + "秒";
var ttt = setTimeout("sT()",1000);
}
}