1.先来看下效果(左上展示题目数量以及当前题序号,当第一题时只有下一题按钮,未回答问题时无法点击下一题,且回答结果展示错误或正确的颜色)

​​​​

2.接下来我们来看下html是怎么写的吧

<!-- 左边数据 --><div class="top-left"><img src="../../images/question_left.png" alt="" /><div class="top-text">{{ idx + 1 }}/{{ questionList.length }}</div></div><!-- 问答题目 --><div class="card-min" v-for="(item, index) in questionList" :key="index" v-show="index == idx"><div class="card-top">{{ item.questionName }}</div><div class="card-select"><!-- 如果选择的答案未A且正确结果为A,其他选项同理--><div :class="[item.isTrue && item.answerCorrect == 'A' ? 'yes' : '',!item.isTrue && item.result == 'A' ? 'no' : '',!item.isTrue && item.answerCorrect == 'A' && item.result? 'yes': '',]" class="select-min" v-if="item.answerA" @click="handleCilck('A', index)"><div class="select-con">A.{{ item.answerA }}</div></div></div></div><!-- 按钮部分 --><div class="bot-but"><div class="but-show" @click="back()" v-if="idx != 0 && isShow" :class="idx == 0 ? 'but-show' : 'before-back'"><!-- 上一题 -->上一题</div><div class="next" @click="next(idx)" v-if="isShow" :class="idx == 0 ? 'but-show' : 'before-next'"><!-- 下一题 -->下一题</div><!-- 提交 --><div class="next" v-if="!isShow" @click="submit(idx)" :class="idx == 0 ? 'next' : 'but-show'"><!-- 提交 -->提交</div></div>

3.继续css样式

   <--选取结果的样式-->
.select-min {width: 100%;min-height: 85px;border-radius: 50px;margin: 35px 0px;padding: 0px 35px;font-size: 32px;background: #e4efff;display: flex;align-items: center;&.yes {background: #70c9ad;}&.no {background: #ed8254;}.select-con {line-height: 45px;}}<--所有按钮的样式-->.bot-but {width: 100%;height: 90px;line-height: 90px;text-align: center;position: fixed;bottom: 200px;display: flex;.but-show {width: 70%;height: 100%;margin: 0 auto;color: #ffffff;font-size: 36px;border-radius: 50px;}.next {width: 70%;height: 100%;margin: 0 auto;background: #fdc003;color: #ffffff;font-size: 36px;border-radius: 50px;}.before-next {width: 40%;height: 100%;margin: 0 auto;color: #ffffff;font-size: 36px;border-radius: 50px;background: #fdc003;}.before-back {width: 40%;height: 100%;margin: 0 auto;color: #4c69e4;font-size: 36px;border-radius: 50px;background: #ffffff;}}

4.处理数据环节

1.获取题目数据这个忽略(记得先定义一个 参数 ,方便后面处理 index,我定义的是idx 哦)
2.我根据我这个接口数据返回数据,往里面加了2个参数,如下:item.result = ""; //选择的结果item.isTrue = false; //结果是否正确
3. 我们来看下next 方法(调用方法时传参为ids)next(index) {if (!this.questionList[index].result ||this.questionList[index].result == "" ||this.questionList[index].result == null) {return;} else {this.idx++;}// 当前页等于最后一题 下一题按钮隐藏if (this.idx == this.questionList.length - 1) {return (this.isShow = false);} else {return (this.isShow = true);}},
4.返回直接处理index就好back() {this.idx--;},
5.接下来就是点击上一题 下一题的啦handleCilck(str, i) {const item = this.questionList[i];if (item.result) {return;}if (item.answerCorrect == str) {item.result = str;item.isTrue = true;this.num++;} else {item.result = str;item.isTrue = false;}},6.最后提交按钮submit(index) {if (!this.questionList[index].result ||this.questionList[index].result == "" ||this.questionList[index].result == null) {return;} else {//提交表单}},

vue 简单实现上一题下一题问答效果相关推荐

  1. vue实现调查问卷一页一题,上一题下一题形式

    使用了vant组件的radio 单选框 官网https://youzan.github.io/vant/#/zh-CN/radio 效果图 效果图 做出来的效果图就是上面那样 一页一题 附上代码: & ...

  2. js、jq实现答题上一题下一题

    一.以下是效果图 说明:第一题只有一个"下一题"按钮,中间题目有两个按钮"上一题""下一题",最后一题按钮改为"提交": ...

  3. 怎么用vue2实现上一题下一题的答题功能

    可以使用Vue2中提供的v-if,v-for和v-show指令来实现上一题下一题的答题功能.首先,可以使用v-for指令来遍历所有的题目,然后使用v-if和v-show指令来控制显示哪一题.最后,可以 ...

  4. php下一页的代码,PHP简单实现上一页下一页功能示例

    本文实例讲述了PHP简单实现上一页下一页功能.分享给大家供大家参考,具体如下: 思路整理: 现在好多人用id的增1和减1实现上一篇和下一篇,但是难道文章ID不会断了吗?所以你要知道上个ID和个ID是多 ...

  5. jQuery模拟原生态App上拉刷新下拉加载效果代码

    以下任意均可: 1. jQuery模拟原生态App上拉刷新下拉加载效果代码,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用. 原文:http://www.sucaij ...

  6. vue实现答题考试功能(上一题下一题)

    1,后端返回数据 questionList: [{id: "1",name: "one",question: "问题1111111?",an ...

  7. JS-实现上一题下一题切换功能

    业务背景:某个数据列表需要对其中的每行数据进行详细信息修改配置.为了提升用户体验,需要在用户触发单条任务记录详细配置界面之后添加进入上一题和下一题的操作. 实现构思:有两种办法:第一种简单点的话就是不 ...

  8. JS实现答题上一题下一题

    以下是实现效果图 JS块代码 var TRUE_COUNT = 0//正确的题数var count = 10;//当前所在题数var thisURL = document.URL;var getval ...

  9. vue手写上一页下一页

    上一页: this.openIsDisabled=true;---------->当前为第一页时关闭上一页按钮 this.closeIsDisabled=false;-----------> ...

最新文章

  1. 交互式数据可视化-D3.js(一)
  2. 如何使用Swift获取App版本和内部版本号?
  3. CYPRESS USB芯片win10驱动
  4. 二叉树 二度节点和叶子节点之间的数量关系
  5. Spring boot格式化器
  6. json mysql乱码问题_JSON数据乱码问题
  7. xss原理和注入类型
  8. java class实例化对象_使用Class对象实例化Java类型参数/ generic
  9. 各种Adapter的用法
  10. set的erase()函数
  11. 2019年共享充电宝行业发展情况分析报告
  12. win10 网卡优先级修改
  13. java计算机毕业设计自考学位系统源程序+mysql+系统+lw文档+远程调试
  14. Spring系列第20篇:@Conditional通过条件来控制bean的注册
  15. 前端 img标签显示 base64格式的 图片
  16. VBA实时提取股票资金流入TOP
  17. mac安装brew(国内)
  18. Python二级应用题代码自用(无忧二级)
  19. 2022-2028年全球与中国运动钓鱼用具行业市场需求预测分析
  20. ios 多线程gdc_GDC 2019中的Heretic,Megacity版本,实时光线追踪以及更多新闻

热门文章

  1. smbclient访问海康威视H90个人网盘
  2. web前端——工作中遇到的问题总结
  3. 【UV打印机】电气之负压系统(一)
  4. 人力资源管理专业知识与实务(初级)【11】
  5. 四、MySQL优化之explain执行计划的extra属性
  6. c语言.jpg图片转成数组_基于 C 语言开发的 GUI 框架
  7. 最实用的网上赚钱方法:这个方法真的很实用哦!
  8. 雷达的工作原理示意图_雷达的工作原理是什么?
  9. 应付款与分工之利读后感
  10. vanishing point detection in autopilot