Vue实现答题功能

 更新时间:2021年06月23日 10:18:12   作者:sryhx  
最近接手做一个前端小项目,基于vue实现答题功能,具体功能有判断用户是否答对,答对的话跳到下一题,答错的话弹窗告诉用户有错题,请重新答题,功能非常人性化,对实现代码感兴趣的朋友一起看看吧

1、请求答题接口

2、判断用户是否答对,答对的话跳到下一题,答错的话弹窗告诉用户有错题,请重新答题

<div class="active_title">
      <span>{{ orderTitle }}</span>
</div>
<p v-show="toanswer" ref="question">{{ title }}</p>
<div class="answer-btns" @click="answerClick($event)">
    <span class="answer-btn" :class="`${isRight && item.result == 1?'right':''}`" v-for="item in answer" :data-result='item.result'>{{ item.name }} <i class="iconfont icon-wrong">&#xe677;</i><i v-show="isRight && item.result == 1" class="iconfont icon-right">&#xe678;</i>
    </span>
</div>
getAllData() {
   this.$axios.get(答题接口).then((res)=>{
     if(parseInt(res.data.errCode)>=0){
       this.allData=res.data.data
       if(this.allData.question.length > 0) {
          this.toanswer = true
       }            
         this.title = this.allData.question[0].title//第几题
         this.answer = this.allData.question[0].answner//第几题问题
    }else{
       this.toast = this.$createToast({
          txt: res.data.message,
          type: 'txt'
        })
       this.toast.show()
    }
   }).catch((err)=>{
      console.log(err)
    })
},

answerClick(e) {
  const tar = e.target,
  className = e.target.className
  if(className == "answer-btn") {
    this.mask = true
    const result = tar.dataset.result
    if(result == 1){
      // console.log('选对',result);
      this.isRight = true
      $(tar).addClass('right')
    } else {
       // console.log('选错',result);
       this.isRight = true
       this.isWrong = true
       $(tar).addClass('wrong')
       setTimeout(() => {
       this.maskTips = true
     }, 1200);
   }
   setTimeout( () => {
    this.clickNum ++
    if(this.clickNum > 2) {
      this.clickNum = 2
         if(this.isWrong) {
           console.log('答错');
           this.mask = false
           this.maskTips = true
           return false
         } else {
           console.log('答对了');
          }
         }
          $('.answer-btn').removeClass('wrong')
          this.orderTitle = this.orderTitles[this.clickNum]
          this.isRight = this.mask = false
          this.title = this.allData.question[this.clickNum].title
          this.answer = this.allData.question[this.clickNum].answner
        },1200)
     }
  },

以上就是Vue实现答题功能的详细内容,更多关于Vue答题的资料请关注脚本之家其它相关文章!

相关文章

  • vue3+three.js实现疫情可视化功能

    vue3+three.js实现疫情可视化功能

    这篇文章主要介绍了vue3+three.js实现疫情可视化,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 在Vue中使用echarts的方法

    在Vue中使用echarts的方法

    这篇文章主要介绍了Vue中使用echarts的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • vue移动端判断手指在屏幕滑动方向

    vue移动端判断手指在屏幕滑动方向

    这篇文章主要为大家详细介绍了vue移动端判断手指在屏幕滑动方向,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • vue.js+boostrap项目实践(案例详解)

    vue.js+boostrap项目实践(案例详解)

    这篇文章主要介绍了vue.js+boostrap项目实践(案例详解)的相关资料,本文图文并茂介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • nuxt中刷新页面后防止store值丢失问题

    nuxt中刷新页面后防止store值丢失问题

    这篇文章主要介绍了nuxt中刷新页面后防止store值丢失问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Vue打包后静态资源图片失效彻底解决的终极指南

    Vue打包后静态资源图片失效彻底解决的终极指南

    文章详细分析了Vue项目中静态资源路径失效的问题,包括开发、构建、部署等阶段的常见原因,并提供了多种解决方案,旨在帮助开发者系统性地解决静态资源路径问题,构建稳定可靠的前端应用,需要的朋友可以参考下
    2025-03-03
  • vue-cli3 配置开发与测试环境详解

    vue-cli3 配置开发与测试环境详解

    这篇文章主要介绍了vue-cli3 配置开发与测试环境详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • vue3关键字高亮指令的实现详解

    vue3关键字高亮指令的实现详解

    这篇文章主要为大家详细介绍了vue3实现关键字高亮指令的相关资料,w文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2023-11-11
  • ant-design-vue 实现表格内部字段验证功能

    ant-design-vue 实现表格内部字段验证功能

    这篇文章主要介绍了ant-design-vue 实现表格内部字段验证功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Vue3使用dataV报错问题的解决方法

    Vue3使用dataV报错问题的解决方法

    这篇文章主要为大家详细介绍了Vue3中使用dataV报错问题的解决方法,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11

最新评论