<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>
修改代码使getData函数能够使用score 并将修改的地方标注 script			var all_title = ;题库			var currIndex=1;			var chooseArr=;			var num = 				data			;			var endStatus=false;			var score=0;			var id = localStoragegetItemuserid;

原文地址: https://www.cveoy.top/t/topic/ZD9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录