修改代码使getData函数能够使用score 并将修改的地方标注 script var all_title = ;题库 var currIndex=1; var chooseArr=; var num = data ; var endStatus=false; var score=0; var id = localStoragegetItemuserid;
<script>
var all_title = [];//题库
var currIndex=1;
var chooseArr=[];
var num = {
data:[]
};
var endStatus=false;
var score=0; // 添加变量score
var id = localStorage.getItem("userid");
var pro_num = localStorage.getItem("pro_num");
var arr = pro_num.split("|"); // 将字符串按照|分割成数组
var nums = arr.split("-"); // 将每个数组元素按照-分割成数组
var pro_id = nums[0]; // 题库
$(function(){
var pro_name=decodeURI(GetString('pro_name'));
var type=decodeURI(GetString('type'));
$('#type').html(type);
$('#pro_name').html(pro_name);
$('#name').html(userName);
$('#testNum').html('00109521882');
//题目数量框
for (var i = 1; i <= 100; i++) {
num.data.push({
num:i
});
}
var numhtml = template("titleNumtpl", num);
$('#titleNum').html(numhtml);
var timetoatl = 3600;
var time=setInterval(function(){
timetoatl--;
formatSeconds(timetoatl);
if(timetoatl==0){
clearInterval(time);
layer.msg('考试时间结束!', {
icon: 5
},function(){
calcScore();
});
}
},1000)
//题库
getData('test.php',{
action:'list',
token:token,
id:pro_name
},function(r){
all_title=r.data;
setTitle(1);
})
//结束
$('#endBtn').click(function(){
layer.confirm('确认提交本次考试结果?', function (index) {
clearInterval(time);
calcScore();
getData('/php/question.php ', {
pro_id:pro_id,
id:id,
score:score, // 将score作为参数传递
title:all_title,
answer:,
}, function (r) {
})
});
})
})
// 单独的题目变化方法
function setTitle(i) {
if(i<1 || i>100){
layer.msg('请输入正确的题号', {
icon: 5
});
return false;
}
var titleone=all_title[parseInt(i)-1];
var type=titleone['testType'];
var title=titleone['title'];
var yesStr=titleone['answer'];
var testImgAddr=titleone['testImgAddr'].indexOf('/')>=0?titleone['testImgAddr'].split('/')[titleone['testImgAddr'].split('/').length-1]:titleone['testImgAddr'];
var arr=titleone.choose.split('|');
var choose={
testIndex:i,
title:title,
testType:type,
testImgAddr:testImgAddr?'/img/'+testImgAddr:'',
yesStr:yesStr,
endStatus:endStatus,
info:[]
}
let havechoose=chooseArr.find((val)=>val.num==i);
$.each(arr,function(n,val){
if(val){
let checked=false;
if(havechoose)checked=havechoose.choose.find((x)=>x==n);
let shooseimg=val.indexOf('{')>=0?val.split('{')[1].split('}')[0]:'';
choose.info.push({
'title':val,
'checked':checked,
'endStatus':endStatus,
'img':shooseimg?'/img/'+shooseimg:'',
})
}
})
var html = template("detail", choose);
$("#question").html(html);
//改变题目的颜色
$('#'+i).addClass('current').siblings().removeClass('current');
currIndex=i;
if(i==1){
$('button.first').attr('disabled',true);
$('button.end').attr('disabled',false);
}else if(i==100){
$('button.first').attr('disabled',false);
$('button.end').attr('disabled',true);
}else{
$('button.first').attr('disabled',false);
$('button.end').attr('disabled',false);
}
//监听选择项
$('input[name=answer]').change(function(){
var answer=[];
$.each($('input[name=answer]:checked'),function(n,val){
answer.push($(val).val());
})
let havechoose=false;
let choosear = chooseArr.find((val)=>val.num==i);
if(choosear){
havechoose=true;
choosear.choose=answer;
}
if(!havechoose){
chooseArr.push({
num:i,
choose:answer,
yesStr:yesStr
})
}
$('#'+i).addClass('yestitle');
})
}
//计算成绩
function calcScore(){
var text='';
$.each(num.data,function(n,val){
val.color='red';
let titleChoose=chooseArr.find((x)=>x.num==val.num);
let choose='';
if(titleChoose){
$.each(titleChoose.choose,function(x,y){
switch (y){
case 0:choose+='A';break;
case 1:choose+='B';break;
case 2:choose+='C';break;
case 3:choose+='D';break;
case 4:choose+='E';break;
case 5:choose+='F';break;
case 6:choose+='G';break;
}
})
if(choose==titleChoose.yesStr){
score++;
val.color='green';
return score;
}
}
})
endStatus=true;
$('label').css('pointer-events','none');
$('input').attr('readonly',true);
$('.yesanswer').show();
layer.open({
title: '考试结束',
content: '本次成绩:'+score+'<br/>考试成绩:'+(score>59?'合格':'不合格')
,btn: ['查看考试结果','返回首页']
,yes: function(index, layero){
var numhtml = template("titleNumtpl", num);
$('#titleNum').html(numhtml);
layer.close(index);
}
,btn2: function(index, layero){
location.href='index.html';
}
});
}
//上下题
function changeTitle(type){
if(type=='prev'){
setTitle(currIndex-1);
}else{
setTitle(currIndex+1);
}
}
//倒计时
function formatSeconds(value) {
let second = parseInt(value);
let minute = 0;
let hour = 0;
// let day = 0;
// 如果秒数大于60,将秒数转换成整数
if (second > 60) {
// 获取分钟,除以60取整数,得到整数分钟
minute = parseInt(second / 60)
// 获取秒数,秒数取佘,得到整数秒数
second = parseInt(second % 60)
// 如果分钟大于60,将分钟转换成小时
if (minute > 60) {
// 获取小时,获取分钟除以60,得到整数小时
hour = parseInt(minute / 60)
// 获取小时后取佘的分,获取分钟除以60取佘的分
minute = parseInt(minute % 60)
// 如果小时大于24,将小时转换成天
// if (hour > 23) {
// // 获取天数,获取小时除以24,得到整天数
// day = parseInt(hour / 24)
// // 获取天数后取余的小时,获取小时除以24取余的小时
// hour = parseInt(hour % 24)
// }
}
}
let result = '' + parseInt(second) + '秒'
if (minute > 0)result = '' + parseInt(minute) + '分' + result;
if (hour > 0)result = '' + parseInt(hour) + '小时' + result;
// if (day > 0) { result = '' + parseInt(day) + '天' + result;
$('#surplusTime').html(result);
}
</script>
原文地址: https://www.cveoy.top/t/topic/ZD9 著作权归作者所有。请勿转载和采集!