Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript和html设置在线考试计时器_Javascript_Css_Html_Timer - Fatal编程技术网

使用javascript和html设置在线考试计时器

使用javascript和html设置在线考试计时器,javascript,css,html,timer,Javascript,Css,Html,Timer,我正在尝试使用html和JavaScript为我的在线考试页面设置一个“计时器”,您可以看到下面的代码。 但我有问题: 问题: a) 我需要在固定时间显示考试应在固定时间完成的时间。如果考官无法及时完成考试,则页面应显示关于“time up”的警告消息,并且必须显示用户尝试的总答案的最后一页、等级和用户完成考试的时间 b) 在我的页面底部,我们可以看到跑步如下所示:“你的左时间是:1分钟:53秒”,我一直保持min=1。但它显示如下你的左时间是0分钟:59秒,因为我一直保持min=1 c) 在这

我正在尝试使用html和JavaScript为我的在线考试页面设置一个“计时器”,您可以看到下面的代码。 但我有问题:

问题:

a) 我需要在固定时间显示考试应在固定时间完成的时间。如果考官无法及时完成考试,则页面应显示关于“time up”的警告消息,并且必须显示用户尝试的总答案的最后一页、等级和用户完成考试的时间

b) 在我的页面底部,我们可以看到跑步如下所示:“你的左时间是:1分钟:53秒”,我一直保持min=1。但它显示如下你的左时间是0分钟:59秒,因为我一直保持min=1

c) 在这里,我想用小时、分钟和秒来展示完美的时间,如果将来小时、分钟和秒有任何变化的话

JSFiddle:

代码:


var pos=0,测试,测试状态,问题,选择,选择,chA,chB,chC,正确=0;
变量问题=[
[“以下哪个a不是Java中的关键字?”、“类”、“接口”、“扩展”、“C”],
[“以下哪项是接口?”、“线程”、“日期”、“日历”、“A”],
[“哪家公司发布了Java版本8?”、“Sun”、“Oracle”、“Adobe”、“A”],
[“Java数据类型int的长度是多少?”、“32位”、“16位”、“无”、“C”],
[“Java数据类型布尔值的默认值是什么?”、“真”、“假”、“0”、“A”]
];
函数ux){
返回文档.getElementById(x);
}
函数renderQuestion(){
测试=uu(“测试”);
var showscore=数学四轮(正确/问题长度*100);
如果(位置>=问题长度){
document.getElementById(“online_start”).src=“animatedthankyou.gif”;
test.innerHTML=“你得到了“+正确的+”正确的“+问题。长度+”问题”;
test.innerHTML+=“你的分数:”+showscore+“%”;
test.innerHTML+=“考试按时完成:”+秒+“秒”;
test.innerHTML+=“结束考试”;
_(“测试状态”).innerHTML=“测试完成”;
pos=0;
正确=0;
清除超时(tim);
//document.getElementById(“endtime”).innerHTML=“完成时间:”+min+“分钟:”+sec+“秒”;
document.getElementById(“starttime”).style.display+=“无”;
document.getElementById(“showtime”).style.display+=“无”;
//document.getElementById(“showtime”).style.display+='block';
返回false;
}
_(“测试状态”).innerHTML=“问题”+(pos+1)+”的“+问题.长度+”;
问题=问题[pos][0];
chA=问题[pos][1];
chB=问题[pos][2];
chC=问题[pos][3];
test.innerHTML=“+问题+”;
test.innerHTML+=“+chA+”
”; test.innerHTML+=“”+chB+“
”; test.innerHTML+=“”+chC+“

”; test.innerHTML+=“下一步

”; } 函数checkAnswer(){ 选项=document.getElementsByName(“选项”); 选择=-1; 对于(变量i=0;i 0){ sec=parseInt(sec)-1; document.getElementById(“showtime”).innerHTML=“您的左时间是:“+min+”分钟:“+sec+”秒”; tim=设置超时(“showtime()”,1000); } 否则{ if(parseInt(sec)==0){ min=parseInt(min)-1; document.getElementById(“showtime”).innerHTML=“您的左时间是:“+min+”分钟:“+sec+”秒”; if(parseInt(min)==0){ 清除超时(tim); 警报(“超时”); /*_(“测试状态”).innerHTML=“测试完成”; test.innerHTML=“你得到了“+问题中的“+正确的+”。长度+“问题正确”; test.innerHTML=“你得到了“+问题中的“+显示分数+”。长度+”; test.innerHTML=“结束考试”; pos=0; 正确=0; 清除超时(tim); document.getElementById(“endtime”).innerHTML=“您完成考试的时间是:“+min+”分钟:“+sec+”秒”; document.getElementById(“starttime”).style.display+=“无”; document.getElementById(“showtime”).style.display+=“无”; //document.getElementById(“showtime”).style.display+='block'; 返回false*/ window.location.href=“Loginpage.htm”; } 否则{ 秒=60; document.getElementById(“showtime”).innerHTML=“您的左时间是:“+min+”分钟:“+sec+”秒”; tim=设置超时(“showtime()”,1000); } } } }
祝你一切顺利

在线考试系统(OES)是一个基于多项选择题(MCQ)的考试系统 为两者提供易于使用的环境的考试系统 测试主持人和参加考试的学生。 由-K.P.RAJU开发

您可以为这个问题提供任何帮助。

首先,您最好使用PHP,或者使用用于测试构建的程序。这仅仅是因为我可以通过输入我自己的剩余时间或绕过时间的上限部分来欺骗计时器。相信我,作为一个学生,当我说如果这被发现,你将永远不会得到你的测试

在这里,您指定它们只剩下60秒,因为您在显示时间时调用秒的值,而不是实际的当前时间

            else {
                sec = 60;
应该是时间吗

   tim = setTimeout("....

我可能错过了其他事情,所以一定要回来告诉我,我是否有任何帮助,只是为了安全注意,每个人都可以在这里操纵时间并查看完整答案。如果这只是一个预先检查订阅课程,那么这是一个“好”的方式。但不要把它用于现场考试

A,sh
   tim = setTimeout("....
  var showcurtime = moment();
  var curtimeformat = showcurtime.format('h:mm:ss a');
  var showendtime = showcurtime.add(totalsec, 's');
  var endtimeFormat = showendtime.format('h:mm:ss a');

  console.log(curtimeformat);
  console.log(endtimeFormat);
moment().format('h:mm:ss a');