一个JQuery前端实现的考试页面,带进度条,倒计时和答题卡

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>带进度条和时间的jQuery代码</title>


<link rel="stylesheet" type="text/css" href="css/bootstrap-3.3.4.css">
<link href="css/index.css" rel="stylesheet" type="text/css">


<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/javascript" src="js/Questions.js"></script>
<script>
var HH = 0;//时
var mm = 0;//分
var ss = 0;//秒
var timeState = true;//时间状态 默认为true 开启时间
var questions= QuestionJosn;
var itemList=["A","B","C","D","E","F"]
var activeQuestion=0; //当前操作的考题编号
var questioned = 0; //
var checkQues = []; //已做答的题的集合
/*实现计时器*/
var time = setInterval(function () {
    if (timeState) {
        if (HH == 24) HH = 0;
        str = "";
        if (++ss == 60) {
            if (++mm == 60) { HH++; mm = 0; }
            ss = 0;
        }
        str += HH < 10 ? "0" + HH : HH;
        str += ":";
        str += mm < 10 ? "0" + mm : mm;
        str += ":";
        str += ss < 10 ? "0" + ss : ss;
        $(".time").text(str);
    } else {
        $(".time").text(str);
    }
}, 1000);
//展示考卷信息
function showQuestion(id){
    $(".questioned").text(id+1);
    questioned = (id+1)/questions.length
    if(activeQuestion!=undefined){
        $("#ques"+activeQuestion).removeClass("question_id").addClass("active_question_id");
    }
    activeQuestion = id;
    $(".question").find(".question_info").remove();
    var question = questions[id];
    $(".question_title").html("<strong>第 "+(id+1)+" 题 、</strong>"+question.questionTitle);
    var items = question.questionItems.split(";");
    var item="";
    for(var i=0;i<items.length;i++){
        item ="<li class='question_info' οnclick='clickTrim(this)' id='item"
                +i+"'><input type='radio' name='item' value='"+itemList[i]+"'>&nbsp;"+itemList[i]+"."+items[i]+"</li>";
        $(".question").append(item);
    }
    $(".question").attr("id","question"+id);
    $("#ques"+id).removeClass("active_question_id").addClass("question_id");
    for(var i=0;i<checkQues.length;i
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 可以使用Java和jQuery编写一个进度条的文件上传程序,具体步骤如下:1. 使用Java编写一个文件上传服务,它将接收文件上传请求,并将文件保存到服务器上。2.使用jQuery编写一个简单的表单,它允许用户上传文件。3.使用jQuery的AJAX函数,将用户上传的文件发送到Java文件上传服务。4.使用jQuery进度条插件,显示文件上传的进度。 ### 回答2: 要实现一个进度条的上传程序,我们可以使用Java和jQuery进行开发。 首先,我们需要在后端使用Java编写一个文件上传的接口。可以使用Java的Servlet或Spring MVC框架来实现。这个接口应该能够接收到前端发送的文件,并将其保存到服务器的指定位置。 在前端,我们可以使用jQuery的ajax方法来发送文件到后端接口。在发送请求之前,我们可以使用HTML的input元素创建一个文件选择器,让用户选择要上传的文件。 一旦用户选择了文件,我们可以使用FileReader对象来读取文件的内容,并将其作为数据传递给后端接口。在发送请求时,我们可以通过使用FormData对象,将文件数据添加到表单数据中,并设置请求方法为POST。 在发送请求的同时,我们可以使用XMLHttpRequest的onprogress事件来监听上传的进度。这个事件会在上传过程中不断触发,并返回一个event对象,其中包含有关上传进度的信息,如已上传的字节数和总字节数。我们可以利用这些信息来计算上传的百分比,并更新进度条的宽度。 在接收到后端返回的响应后,我们可以根据情况进行相应的处理,如显示上传成功的提示信息或显示上传失败的错误信息。 最后,我们还可以使用jQuery实现进度条的动画效果。可以通过设置进度条的初始宽度和动态调整宽度的方式来实现。可以使用jQuery的animate方法来实现平滑的宽度过渡效果。 综上所述,通过使用Java和jQuery,我们可以实现一个进度条的上传程序,方便用户上传文件并实时显示上传进度。 ### 回答3: 要实现一个进度条的上传程序,可以使用Java和jQuery来完成。下面是一个简单的实现思路: 1. 在前端页面使用HTML和jQuery创建一个上传表单,并添加一个进度条元素用于展示上传进度。 2. 在后端使用Java编写一个接受上传文件的Servlet。该Servlet处理上传请求,并在上传过程中不断更新进度。 3. 在前端页面中,使用jQuery的Ajax方法来发送上传请求,将文件数据以formData的形式发送到后端Servlet。 4. 后端Servlet接收到上传请求后,创建一个输入流来读取上传的文件数据,并根据文件大小计算总进度。 5. 在读取文件数据的过程中,通过不断更新进度,将当前进度发送回前端页面。 6. 前端页面接收到后端发送的进度数据后,更新进度条的显示。 7. 当文件数据读取完成后,后端Servlet将文件保存到指定位置,并向前端页面发送上传完成的消息。 8. 前端页面接收到上传完成的消息后,可以显示上传成功的提示。 这样,我们就完成了一个进度条的上传程序。通过Java和jQuery的结合,我们能够实现前后端的数据交互和进度更新,让用户可以清楚地看到文件上传的进度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值