开源一个前端试卷题页面

最近在授课的过程中,模拟了一次月度考试,发现纸质版或者电子版的试卷,学生做后,还得老师,亲自一个一个进行阅卷,一个两个还可以,但是多了之后,就很浪费时间和经历,然后花了不到一天的时间做了一个可以在线考试的H5页面,即方便了老师阅卷,也方便了学生进行考试,经过测试,目前感觉还可以,今天,就把它开源出来,有帮助的同志可以拿去用。(本身是做Android开发,页面UI没有做优化,就凑活看吧~)。

具体效果页面(点击直达):

https://ming723.github.io/moni/vip_ming_do.html

试卷H5页面

先说下我实现的思路,一是无论单选,多选,填空,点击提交会自动判分,二,试卷的题,由于会随着考试类型多变,所以题需要动态获取。

题如何动态获取呢?这是我简单的说一下我的思路,我这边用了一个静态文本,当然了大家也可以从数据库里进行获取。静态文本里,就是一些Json数据,因为我的题型目前有三种,单选,多选,和填空,所以我的Json文本格式如下,(当然了,请忽略的我的字段名称):

{
    "one":[
            {
                "title":"1、我是标题",
                "a":"A、我是第一道题",
                "b":"B、我是第二道题",
                "c":"C、我是第二道题",
                "d":"D、我是第二道题",
                "biao":"one_0"
            },{
                "title":"1、我是标题",
                "a":"A、我是第一道题",
                "b":"B、我是第二道题",
                "c":"C、我是第二道题",
                "d":"D、我是第二道题",
                "biao":"one_1"
            }
    ],
    "two":[
            {
                "title":"1、我是标题",
                "a":"A、我是第一道题",
                "b":"B、我是第二道题",
                "c":"C、我是第二道题",
                "d":"D、我是第二道题",
                "biao":"two_0"
            }, {
                "title":"1、我是标题",
                "a":"A、我是第一道题",
                "b":"B、我是第二道题",
                "c":"C、我是第二道题",
                "d":"D、我是第二道题",
                "biao":"two_1"
            }, {
                "title":"1、我是标题",
                "a":"A、我是第一道题",
                "b":"B、我是第二道题",
                "c":"C、我是第二道题",
                "d":"D、我是第二道题",
                "biao":"two_2"
            }
    ],
    "three":[
            {
                "title":"1、我是填空题"
            },{
                "title":"2、我是填空题"
            },{
                "title":"3、我是填空题"
            }
    ]
}

简单的说些Json中这些字段的作用,三种题型,我用了三个数组进行存储,分别是one,two three,单选和多选,除了A,B,C,D之外,还有一个title,这个title就是每一题的标题,字段biao,就是用来标识每一题的一个name值。

当然了除了题的文本之外,还有答案的文本,答案可以和题写到一个文本里,这里我进行分开了,单独对答案又写了一个json的静态文本,格式如下:

{
    "an":[
            {
                "ok":"A"
            },{
              "ok":"A"
            }
    ],
    "an_two":[
            {
                "ok":"A,B"
            },{
                "ok":"A,B"
            },{
                "ok":"A,B"
            }
    ],
    "an_three":[
            {
                "ok":"A-B"
            },{
                "ok":"A-B"
            },{
                "ok":"A-B"
            }
    ]
}

很简单,每个题型有几道题,对应的就要有几个答案,单选题我们比对就可以了,那多选题比对,和填空题比对,如何操作呢,其实也很简单,获取出来答案之后,可以判断所选的答案是否包含于获取的答案,或者用个标识进行截取,两个数组进行一一比对,也是可以的。

好了,有了数据之后,那么就开始写页面吧,页面没啥好说的,使用的JQuery,比如头部这个,其实就是固定写死的。

试卷顶部

其实按理来说,顶部的这些信息,其实也得需要自己来动态获取,毕竟试题不一样,班级也不一样,专业阶段也不一样,这些改变就显得简单的了,直接获取下来,进行填充即可。

中间的题,也是很简单,毕竟数据已经给出了,直接获取,动态创建标签进行填充数据就可以了,这里就以单选为例,大家可以看看,创建div,动态的向指定div里进行append就可以了,毕竟不是做前端开发的,可能写的不标准,大家凑合着看吧~

单选

多选和填空类似,这里就不多做解释,点击提交,怎么判断,哪一道题没有做呢,比如单选,这里,设置name,就是json文本里的biao字段,我们可以直接对这个字段做判断即可,如下:

单选判断

然后对其判断,哪道题没有写,给用户一个提示:

单选没做提示

都写了之后,计算分数,这里我用的是(price)来计算总的分数(不要在乎字段名字),需要注意的是,我这里定义的无论哪种题型,每一题的分值都是2.5分,当然了你可以去改变。

单选提交

至于这个anItem如何获取,我之前也说过了,答案,我定义了一个单独的静态文件,获取数据之后,赋值给了一个成员变量:

获取答案

三个类型,就定义了三个变量。

多选,和填空,大家可以看源码进行分析,需要注意的是,填空,我是如何自动判分的呢,很简单,只要学生回答的包含我们指定的字段,就可以给他分。分值的话由自己去判断,比如对一个几分,对两个又是几分。

底部还有一个动态展示,学生哪道题没有做,可以点击,到哪道题,以及做过的题,进行变色处理;这块逻辑,不知道大家怎么实现,我的实现很笨,用字符串的形式,存储你点击过后的题,然后,进行遍历,如果字符串中有这个题,那么就变色,没有就不变,做了一个200毫秒的定时操作,我觉得这样做不好。

未做判断

大家有时间还是看源码吧,写的不是很好,但满足了我的需求~
https://github.com/ming723/TestPaper

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 8,966评论 0 13
  • 轻云载水来回转, 雨浴骄阳五月天。 涧满鸭肥溪柳密, 杨梅酸爽脆桃甜。
    刘志坚阅读 259评论 2 4
  • 越长大,越孤单。 在如今的世界里,是常态,似乎是每个人必经的成长之路。 我们的生活条件越来越好了,拥有的越来越多了...
    57211a4e4a86阅读 691评论 0 0
  • 放暑假回家休息,恰逢之前投的两个国企实习生面试,时间刚好撞车,赶不回去,遂略带遗憾和无奈的放弃。终于说服自己先找个...
    glacier2016阅读 393评论 0 0
  • 只发图,不说话 排序都懒得排,只想肥宅快乐
    假文艺真商务阅读 134评论 0 0