当前位置: 首页 > news >正文

有没有可以在线做化学实验的网站运城百姓网免费发布信息网

有没有可以在线做化学实验的网站,运城百姓网免费发布信息网,网站建设一般多少钱要如何选择,wordpress 会员功能1、背景 最近公司安排业务技能考试,下发excel文件的题库,在excel里查看并不是很方便,就想着像学习驾考题目一样,一边看一边做,做完之后可以查看正确答案。 2、开始分析需求 题目格式如下图 需求比较简单,…

1、背景

        最近公司安排业务技能考试,下发excel文件的题库,在excel里查看并不是很方便,就想着像学习驾考题目一样,一边看一边做,做完之后可以查看正确答案。

2、开始分析需求

题目格式如下图

        需求比较简单,解析出 .xlsx 文件的每一行,第一列是题目类型,第二列为题干,第三列是选项,第四列是 正确答案。其中第三列再用 ' ' 或者 '/n' 去 分割一下选项应该就可以了

3、实现功能

        引入  node-xlsx 和 fs 。 使用 node-xlsx 解析出 .xlsx 文件 。并生成json 用 fs 生成js文件保存 json。 这里解析数据的功能就实现了

var xlsx = require('node-xlsx');
const fs = require('fs');
var obj = xlsx.parse('./test.xlsx');
obj = obj[0].data 
// console.log(obj)
let orightData = []
for(var i=0;i<obj.length;i++) {console.log("第"+(i+1)+"行的数据:");orightData.push({type: obj[i][0],question: obj[i][1],options: obj[i][2],answer: obj[i][3],})
}// console.log(orightData)let jsonData = JSON.stringify(orightData);
jsonData = 'let res = ' + jsonData
fs.writeFile('data.js', jsonData, (err) => {if (err) throw err;console.log('JSON data is saved.');
});

运行代码

node index.js

生成js文件 如下

let res = [{"type":"类型","question":"题目","options":"选项","answer":"答案"},{"type":"选择题","question":"域名MH.BIT.EDU.CN中主机名是(A)","options":"A、MH     B、EDU    C、CN    D、BIT","answer":"A"},{"type":"选择题","question":"根据《企业财务会计报告条例》的规定,企业对外提供虚假财务会计报告,可以对企业()。","options":"A. 直接责任人员处以2000元以上10000元以下罚款\n\nB. 处以100000元以上300000元以下罚款\n\nC. 处以5000元以上100000元以下罚款\n\nD. 处以2000元以上20000元以下罚款","answer":"B"}]

接下来就比较简单了,把数组循环 显示到页面上就行了。我这里就用js直接拼接字符串 设置body 的 innerHTML 就可以了。配合添加class 来显示 答案。再美化一下样式。代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<script src="./data.js"></script>
<body><div class="conteng"><p class="question"></p><p class="options"></p><p class="viewAnswer" onclick="viewAnswer(this)">点击查看答案</p><p class="answer"></p></div>
</body>
<script>
console.log(res);
let html = ''
res.forEach((el,index) => {if(el.question?.length > 10){el.options = el.options.replace(/\n/g,' ')el.options = el.options.split(' ').join('<i></i>')html += '<div class="conteng">'+'<p class="question">'+'<span class="type">['+el.type+']</span>'+(index)+'、'+el.question+'</p>'+'<p class="options">'+el.options+'</p>'+'<a class="" onclick="viewAnswer(this)">查看答案</a>'+'<p class="answer">【'+el.answer+'】</p>'+'</div>'}});
document.getElementsByTagName('body')[0].innerHTML = html
function viewAnswer(that){that.className = 'viewAnswer'
}
</script>
<style>a{color: cadetblue;font-size: 13px;cursor: pointer;display: inline-block;margin-left: 40px;border-radius: 6px;text-align: center;line-height: 18px;color: #FFFFFF;background: #3388FF;cursor: pointer;padding: 5px 12px;}i{display: block;width: 10px;height: 1px;}.type{color:#3388FF}.options{color: #657180;font-size: 14px;padding-left: 60px;}.answer{visibility: hidden;}.viewAnswer + .answer{visibility: visible;padding-left: 40px;}
</style>
</html>

执行完 node index.js 之后 双击打开index.html文件就可以了。效果如下图 

最后:

暂时先处理 单选题,其他题型处理逻辑大同小异。

http://www.15wanjia.com/news/191611.html

相关文章:

  • 手机网站转app开发教程上海自贸区注册企业优惠政策
  • wordpress主题换图片不显示不出来优化关键词排名公司
  • 高度重视机关门户网站建设良精企业网站系统
  • 网站开发设计文案内网如何做网站访问
  • 成都网站制作网站怎么用wordpress布局
  • 北京房山网站建设文山州住房建设网站
  • 广州网站公司建设网站宁波企业自助建站系统
  • 昆山有名的网站建设公司网站如何做邮箱订阅
  • asp网站后台管理系统下载wordpress手机博客
  • 如何借助织梦制作一个简单的网站济南企业建站
  • 柳州网站推广哪家好网页制作素材去哪找
  • 常州 微网站淘宝客为什么做网站
  • 网站图片如何做防盗链icp备案网址
  • 外贸网站建设公司 迅当网可以发外链的网站整理
  • 黑龙江省网站前置审批网站wordpress插件位置
  • 无锡做网站优化哪家好实事新闻热点
  • 地方网站做相亲赢利点在哪网站建设需求书
  • 怎么做网站的seo优化石家庄网站开发与优化
  • 国外优秀网站设计中铁建设集团门户网站登录
  • html5 单页 响应式 网站模板淘宝特价版
  • 成都做营销型网站推广品牌营销做得好的品牌有哪些
  • 什么软件做网站好woocommerce做零售网站
  • 网站里的做菠菜网站开发英语词汇
  • 建设网站比较好公司传媒公司注册需要什么条件
  • 潍坊住房与城乡建设局网站今天重大新闻摘抄
  • 页面设计网站素材东莞seo广告宣传
  • 网站建设与管理赚钱吗dedecms做的网站网站中的图片总是被同一ip恶意点击
  • 营销型网站的类型有哪些我想自己做的知道网站
  • 网站建站平台eazyshop提供免费建网站的网
  • 永登县建设局网站网站正在建设中手机版