1、用HBuildX创建vue3项目

2、 编辑页面

引入swipet组件,设置高度为100vh,整个屏幕都是swiper滑动窗口

<template><view class="content"><swiper><swiper-item><view class="swiper-item">1</view></swiper-item></swiper></view>
</template>
<style lang="less">
swiper{background-color: pink;height: 100vh;
}
</style>

3、模拟题目

<script setup>import {reactive} from 'vue'let data=reactive({list: [{"question": "对未取得驾驶证驾驶机动车的,追究其法律责任。","option1": null,"option2": null,"option3": null,"option4": null,"answer": "对","explain": "《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。","pic": null,"type": "C1,C2,C3","chapter": "驾驶证和机动车管理规定"},{"question": "驾驶机动车应当随身携带哪种证件?","option1": "A、工作证","option2": "B、驾驶证","option3": "C、身份证","option4": "D、职业资格证","answer": "B","explain": "《道路交通安全法》规定,驾驶人应当按照驾驶证载明的准驾车型驾驶机动车;驾驶机动车时,应当随身携带机动车驾驶证。","pic": null,"type": "C1,C2,C3","chapter": "驾驶证和机动车管理规定"},]})
</script>

4、完整代码

<template><swiper :current="data.current" @change="changeSwiper"><swiper-item v-for="item in data.list" :key="index"><view class="swiper-item"><!-- 题目 --><div>{{item.question}}</div><!-- 选项 --><div @click="judge"><!-- 选择题 --><div v-if="item.option1!=null"><button data-index="A">A</button><button data-index="B">B</button><button data-index="C">C</button><button data-index="D">D</button></div><!-- 判断题 --><div v-else><button data-index="对">对</button><button data-index="错">错</button></div></div></view></swiper-item></swiper>
</template><script setup>import {reactive} from 'vue'let data=reactive({list: [{"question": "对未取得驾驶证驾驶机动车的,追究其法律责任。","option1": null,"option2": null,"option3": null,"option4": null,"answer": "对","explain": "《道路交通安全法》第九十九条:未取得机动车驾驶证、机动车驾驶证被吊销或者机动车驾驶证被暂扣期间驾驶机动车的,由公安机关交通管理部门处二百元以上二千元以下罚款,可以并处十五日以下拘留。","pic": null,"type": "C1,C2,C3","chapter": "驾驶证和机动车管理规定"},{"question": "驾驶机动车应当随身携带哪种证件?","option1": "A、工作证","option2": "B、驾驶证","option3": "C、身份证","option4": "D、职业资格证","answer": "B","explain": "《道路交通安全法》规定,驾驶人应当按照驾驶证载明的准驾车型驾驶机动车;驾驶机动车时,应当随身携带机动车驾驶证。","pic": null,"type": "C1,C2,C3","chapter": "驾驶证和机动车管理规定"},],current:0})const judge=(e)=>{// 获取点击的选项let {index}=e.target.datasetif(index==data.list[data.current].answer){console.log('回答正确');}else{console.log('回答错误');}}const changeSwiper=(e)=>{// 获取swiper的索引data.current=e.detail.current}
</script><style scoped lang="less">swiper{height: 100vh;background-color: pink;}
</style>

5、实现原理

5、1用事件委派来获取用户点击的选项,不需要在每个button添加@click事件

5、2使用swiper的detail.current获取每个swiper-item项的索引,实现答案判断

5、3在judge回答正确(错误)后可以自行实现功能

如:回答正确swiper滑动下一项

回答错误将当前题目加入错题集,显示解析等等

uniapp实现滑动答题相关推荐

  1. uni-app小程序答题功能开发(左右滑动,判断,填空,问答,答题卡,纠错,做题倒计时等)

    1,最近再搞一个关于答题的小程序,刚开始是点击切换题目,后来改成左右切换的,搞得脑袋有点大,用swiper 搞了半天还是有bug,无奈之下只能去百度了,找到了一个模板,稍微改变了一点,记录下来 里面引 ...

  2. uni-app 上下滑动左右滑动

    <template><view><view class="uni-padding-wrap uni-common-mt"><view cl ...

  3. uniapp可滑动的顶部导航

    1.刚开始接触uniapp的时候一直纠接这个导航栏滑动的问题.今天抽空把有用的部分提拉出来.做个小笔记. <template><view class="container& ...

  4. uni-app 小说滑动阅读功能实现

    小说项目增添了内容左右滑动需求,于是用了 uni-app 内置的 swiper 来做左右滑动 HTML代码: <view class="content-text" id=&q ...

  5. uniapp横向滑动完整代码

    效果:横向滑动 <template><view class="content"><scroll-view scroll-x="true&qu ...

  6. uni-app使用滑动视图容器实现图片轮播【swiper】

    一.简介 swiper:滑块视图容器,就是我们常用的轮播图. swiper-item:仅可放置在 组件中,宽高自动设置为100%,唯一属性item-id,String类型,表示该 swiper-ite ...

  7. uniapp 顶部滑动状态栏加背景色

    <view :style="{ height: iStatusBarHeight + 'px'}" class="stat" v-show="i ...

  8. uniapp手写_【转】uni-app框架纯手写微信小程序开发左侧滑动菜单

    本帖最后由 fengrui99 于 2020-7-22 14:38 编辑 原文来自:在学习的uni-app的微信小程序开发路上慢慢开始不一直依赖插件(但是使用插件是真的香,一直用一直香) 在大佬的指引 ...

  9. uniapp 简单有效判断手指滑动方向

    @touchstart="touchStart"@touchend="touchEnd"@touchmove='move' 首先 是在uniapp中运用这三个方 ...

最新文章

  1. 工作84:模板字面量
  2. Mysql存储结构B树与B+树与索引
  3. C语言 函数声明和调用 - C语言零基础入门教程
  4. 单体应用微服务改造实践
  5. 数字信号处理——巴特沃斯滤波器设计
  6. idea连接svn_搭建本地虚拟(centos)svn服务器
  7. Python实战从入门到精通第十四讲——定义有默认参数的函数
  8. 【开发工具】之MinGW下makefile的编写
  9. Linux 命令(124)—— lsof 命令
  10. 关于内部网络病毒泛滥的一个解决办法
  11. Android Menu
  12. 二分图中的最大匹配数等于最小点覆盖数的证明
  13. 二分法猜数——C/C++
  14. arcgis加载谷歌地图和天地图
  15. FlashMX2004组件事件简单调试器
  16. html中滚动字幕是什么属性,html中Marquee属性详解(滚动显示文本/图片)
  17. RT-Thread Studio中使用DHT11软件包
  18. 顶级域名 一级域名 二级域名 三级域名划分
  19. 龙讯7号 国芯发布龙芯电脑引争议
  20. 用python的turtle画等边三角形讲解_通过Python turtle绘制等边三角形谈编程思维和逻辑...

热门文章

  1. java路径是什么意思_java路径是什么意思
  2. 【3d建模】zbrush教程非常适合零基础入门,一学就会
  3. DDR3 MIG上板测试记录
  4. 产业高地、价值洼地,雨花一流营商环境是如何炼成的?
  5. 数据仓库工作总结(觉得有点意思)
  6. pip uninstall numpy:报错
  7. 【Daily Games——开发篇】:类QQ飞车商城的试衣间模块
  8. 计算机专业拜年语,南昌理工学院计算机信息工程学院给您拜年啦!!
  9. win7怎么打开微软更新服务器地址,Win7旗舰版上的windows update服务无法启动
  10. (转)我奋斗了十八年不是为了和你一起喝杯咖啡