对应主要代码块:
var hour = 0;
var minute = 19;
var second = 60;
var hourDiv = document.getElementById('hour');
var minuteDiv = document.getElementById('minute');
var secondDiv = document.getElementById('second');
var interval;
var row=0;
var isDiscount5Modal = false;//5分钟提示弹框是否显示
// interval = setInterval(countDown, 1000);
// console.log(second)
var isResult = false;
function countDown() {
second--;
if(second == 00 && minute > 0) {
second = 60;
minute--;
if(minute < 10) minute = "0" + minute;
}else if(second == 00 && minute == 00) {
window.clearInterval(interval);
} //当秒钟为00时,秒数重新给值
if(second < 10) second = "0" + second;
if(second == 00 && minute == 00) {
$("#autocommit").show();
window.clearInterval(interval);
isResult = true;
setInterval(function() {
commitFirstAs();//提交调用接口
},1500)
}else if (second == 59 && minute == 04) {
$("#discount5").show();
//清除计时器
window.clearInterval(interval);
setTimeout(function() {
$("#discount5").hide();
if(!isDiscount5Modal) {
interval = setInterval(countDown, 1000);
}
},5000)
$(".close").click(function() {
$("#discount5").hide();
isDiscount5Modal = true;
interval = setInterval(countDown, 1000);
})
}; //当分钟和秒钟都为00时,重新给值
row++
$(hourDiv).html(hour.toString().length < 2 ? "0" + hour + ":" : hour + ":");
$(minuteDiv).html(minute.toString().length < 2 ? "0" + minute + ":" : minute + ":");
$(secondDiv).html(second.toString().length < 2 ? "0" + second : second);
console.log(row);
}
var flag = false;
// 点击提交按钮
$("#submit").click(function () {
isResult = false;
commitFirstAs();
});
function commitFirstAs() {
console.log(row)
arree = [];
//清除计时器
window.clearInterval(interval);
//var ql = $(".shalist").find("li");
var map = {};
for (var i = 0; i < $(".shalist li").length; i++) {
//} $(".shalist li").each(function(){
var id = $(".shalist li").eq(i).find(".asid").val();
var ans = $(".shalist li").eq(i).find(".answe").val();
if (!ans && !flag && !isResult) {
$("#ob").show();
$(".moreChance").click(function () {
flag = true;
isResult = false;
commitFirstAs();
});
$(".oneby").click(function () {
window.clearInterval(interval);
$("#ob").hide();
// 开启计时器
interval = setInterval(countDown, 1000);
$("#submit").removeAttr("disabled");
});
return;
}
if (!ans) {
ans = "-";
}
map[id] = ans;
}
map["time"] = row;
$.ajax({
type: "post",
contentType: "application/json;charset=utf-8",
dataType: "json",
data: JSON.stringify(map),
url: "../front/certExam/commitFirstAnswer",
beforeSend: function () {
layer.open({
type: 2,
content: '加载中',
shadeClose: false
});
},
success: function (data) {
layer.closeAll();
if (data.code == "200") {
window.location.href = "result.html?ti=" + data.useTime + "&hs=" + data.hscore + "×=" + data.asTimes;
} else {
if (data.rtnUrl != null && data.rtnUrl != "" && data.rtnUrl != undefined) {
window.location.href = data.rtnUrl;
}
}
}
})
}
目前有一个问题就是手机黑屏或锁屏的时候进如答题页面计时器会有延迟,希望大神们给点建议哈