涉及知识点

  • 原生JS操作DOM常用方法
  • 清除父节点里的所有子节点
  • input 标签

介绍

页面显示一张卡片,上面有题目和选项,选择某个选项后点击提交,卡片内容换成其他题目。答完指定数目题目后会显示用户的答题结果,再次点击按钮可以重新答题。

代码

每次用户点击提交按钮时判断当次的答题结果,正确的话给标志位加一,然后销毁上一题的节点,渲染下一题的内容。
简单版本,只写了javascript,没有样式。

html:

<p class="question_title"></p>
<div class="answer_list"></div>
<button class="submit">提交</button>

javascript:

let res = [{title: '1+1=?',answerList: ['10', '2', '3', '4','99'],answer: '2'}, {title: '哪个是水果?',answerList: ['西瓜', '小猫','小狗'],answer: '西瓜'}, {title: '9-4=?',answerList: ['3', '4', '5', '6'],answer: '5'}
]
let title = document.querySelector('.question_title')
let list = document.querySelector('.answer_list')
let submitBtn = document.querySelector('.submit')let idx = 0
let correct = 0
showQuestion(idx)
submitBtn.addEventListener('click',()=>{if(submitBtn.innerText=='重新答题'){showQuestion(idx)submitBtn.innerText = "提交"return}let choose = document.querySelector('input:checked').valueif(choose == res[idx].answer){correct++console.log('success')}idx++if(idx<res.length){showQuestion(idx)} else{list.innerHTML = ""title.innerText = `一共${res.length}个问题,您答对了${correct}个!`submitBtn.innerText = "重新答题"idx = 0correct = 0}
})function showQuestion(num) {list.innerHTML = ""title.innerText = res[num].titlefor (let i = 0; i < res[num].answerList.length; i++) {let radio = document.createElement('input')let text = document.createTextNode(res[num].answerList[i])radio.type = 'radio'radio.name = 'answer'radio.value = res[num].answerList[i]list.appendChild(radio)list.appendChild(text)}
}

前端小项目 QuizApp 答题卡片相关推荐

  1. 前端小项目(一)| 电影院座位预定(html,css,js)

    前端小项目(一)| 电影院座位预定 前言 开始好好学习前端啦.学紫色爱心记录一波!! 初步学了html,css,js,在github上找了几个前端小项目模仿着练练手.第一个就是电影院座位预定页面,主要 ...

  2. 白天、暗夜双重模式+自作潜水俱乐部前端小项目+学习经验总结(一)

    嗨,这里是X,今天带来最近写的一个前端小项目,还挺不错的,所以就在这里分享一下

  3. 前端小项目——模拟微信界面对话框

    最近看网课做了个小项目,用到了前端很多知识点 用到的知识点: HTML知识点: div大盒子,id为contentALL:包含所有的内容 div头部小盒子,id为header:包含整个对话框的头部信息 ...

  4. 618快到了送上自制前端小项目(html css js)

    目录 ??.自定义播放器 ??.图片自动消失 .小轮播图 ??.旋转音乐盒 前言:这些小项目全都是自创的. 如果需要应用,或则转发的话请与 博主联系,感谢你们的理解, 1.自定义播放器 在页面中放置2 ...

  5. 前端小项目之在线便利贴

    实现的效果如下: 界面可能不是太好看?,考虑到容器的高度会被拉长,因此没有用图片做背景. 预览 便利贴 涉及的知识点 sass(css 预编译器) webpack(自动化构建工具,实现LESS,CSS ...

  6. web前端小项目个人实例_Web前端:小程序界面与逻辑项目实训

    大家好,我来了!本期为大家带来的Web前端学习知识是"Web前端:小程序界面与逻辑项目实训",喜欢Web前端的小伙伴,一起看看吧! 主要内容 数据绑定 渲染 界面层数据渲染 事件处 ...

  7. (云服务器+JQuery+JS+BootStrap+Navicat+AJAX+JavaScript)第一个前端小项目【面试】

    目录 第一步:登录云服务器 查看根目录​ 运行jar包 端口被占用 ps -ef:查看使用的端口号 kill -9 端口号:杀掉该进程,取消端口占用 1.配置数据库 2.启动jar包 3.测试swag ...

  8. 50天50个前端小项目(纯html+css+js)第八天(形成波浪动画结合登录表单)

    今天来做一个结合登录表单实现的波浪动画效果,没错,你没听错,重点不是表单,是波浪. 先看效果:首先是平平无奇的波浪效果 然后当你点击输入框的时候:例如输入框里的Email和Password是会一个单词 ...

  9. 前端小项目(三)| 魔方魔方(html、css、js)

    文章目录 前言 一.HTML 二.CSS 三.JavaScript 前言 MOOC课程的实践项目,做一个魔方~ 效果长这样~魔方在自主转动,且每个面的小方块可以飞走飞回. 代码放在:https://g ...

最新文章

  1. 重磅官宣:评职称将不做论文数量硬性要求!职称改革任务总体完成
  2. 创业第一天,有三AI扔出了深度学习的150多篇文章和10多个专栏
  3. C语言多文件编译链接为1个可执行文件的简单原理
  4. securecrt使用_SecureCRT会话丢失原因及解决方法
  5. Ubuntu18.04创建WiFi热点
  6. 【- Light 计划 -】新建了一台Linux云服务器我该干嘛
  7. Android手机接入usb屏幕失灵,手机屏幕失灵了怎么办?安卓手机屏幕失灵解决方法...
  8. 最新微信公众号怎么申请?
  9. 游戏模块分析总结(4)之系统篇
  10. 如何防御网站被ddos攻击 首先要了解什么是流量攻击
  11. iar msp430 编译文件提示非法的license错误
  12. 将不规则时间段降雨量拆分合并到整点小时时间段
  13. 最新idm6.43下载器2023中文特别版怎么使用?真可以速度提升500%?
  14. RaSa2.5.x行为之四:表单(Forms)
  15. [DataAnalysis]参数假设检验和分布拟合检验
  16. submit的一些参数
  17. Bochs源码分析 - 11:《X86探索及编程》代码初步解释
  18. VB 2010 (6) date datetime dateandtime
  19. Elastic Search一些用法
  20. 5g fr1 fr2_第2部分:Fr(动作)是什么?

热门文章

  1. 腾讯会议腾讯课堂考勤工具
  2. 关于mac系统下的一些快捷键符号对应键盘上的键
  3. Twig模版语言入门
  4. 地理信息系统概论——知识点总结
  5. yocto 安装toolchain
  6. html msn 消息,MSN HTML代码
  7. 硬启动各种PPC的方法
  8. 数字图像的获取(摘记,非原创)
  9. iOS不得姐项目--封装状态栏指示器(UIWindow实现)
  10. 阿里聚安全攻防挑战赛第三题Android PwnMe解题思路