考试20分钟倒计时,剩余5分钟提示弹框,20分钟结束自动提交

对应主要代码块:

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 + "&times=" + data.asTimes;
            } else {
                if (data.rtnUrl != null && data.rtnUrl != "" && data.rtnUrl != undefined) {
                    window.location.href = data.rtnUrl;
                }
            }
        }
    })
}

目前有一个问题就是手机黑屏或锁屏的时候进如答题页面计时器会有延迟,希望大神们给点建议哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值