H5答题功能遇到问题总结

在一页上答题显示,一道题答完之后点击提交显示正确答案以及解析,再点提交开始下一题。

1.如何继续跳到下一题

 <div v-for="(item,index) in test_list[i]">

i 赋值为1,因为我接口返回的数据,题是从1开始的。test_list就是我的返回列表
2.点击选项即可边框异常显示

<div v-if="item.is_subject===0&&item.is_jie===0" :class="current_idx===index?'selected':'ans_list'"
             @click="select(index)">{{options[index-1]}}<img :src="item.url"></div>

在下面写区分的css样式。重点是::class="current_idx===index?'selected':'ans_list'" @click="select(index)"
下面select方法中将current_idx===index进行赋值。
在这里插入图片描述
3.返回列表中只有选项,没有选项前面的ABCD,那么如何对应添加

{{options[index-1]}}
 options: ['A', 'B', 'C', 'D', 'E', 'F'],

写一个数组根据传过来的index添加,但是我的index是从第二个开始的,所以我自动-1
4.第一章节是三道题,我如何判断i不能超过总长度?
i不能超过返回字典的长度,如何判断字段长度:Object.keys(this.test_list).length, 在提交sunmit方法里面添加
在这里插入图片描述

5.第一题开始到下一题的最上面颜色的变化状态?
在这里插入图片描述
将点击选项放进一个数组,然后给这个数组进行赋值状态,0,1,2,3,为状态,

<div v-for="(item,index) in select_list">
        <div v-if="item.status===0" style="background: #4a506b;color: #ffffff;width: 20px;height: 20px;border-radius:20px;display: flex;align-items: center;justify-content: center;font-size: 12px">{{index+1}}</div>
        <div v-if="item.status===1"  style="background: #10ec28;color: #ffffff;width: 20px;height: 20px;border-radius:20px;display: flex;align-items: center;justify-content: center;font-size: 12px">{{index+1}}</div>
        <div v-if="item.status===2"  style="background: #e5584a;color: #ffffff;width: 20px;height: 20px;border-radius:20px;display: flex;align-items: center;justify-content: center;font-size: 12px">{{index+1}}</div>
        <div v-if="item.status===3"  style="background: #45aefc;color: #ffffff;width: 20px;height: 20px;border-radius:20px;display: flex;align-items: center;justify-content: center;font-size: 12px">{{index+1}}</div>
      </div>
  select_list:[],
   for(var k=0;k<Object.keys(self.test_list).length;k++){
            self.select_list.push({
              selected:0,
              status:0,
            })
          }

在提交时判断:

if(is_right===1){
            self.select_list[self.i-1].status=1;
          }else if(is_right===0){
            self.select_list[self.i-1].status=2;
          }
          self.select_list[self.i-1].selected=1;

6.选项选完点击提交,到达解析页面,解析页面保存着刚刚选的选项,其它选项不可选

<div v-if="item.is_subject===0&&item.is_jie===0&&select_list[i-1].selected===0" :class="current_idx===index?'selected':'ans_list'"
             @click="select(index)">{{options[index-1]}}<img :src="item.url"></div>
        <div v-if="item.is_subject===0&&item.is_jie===0&&select_list[i-1].selected===1" :class="current_idx===index?'selected':'ans_list'"
            >{{options[index-1]}}<img :src="item.url"></div>

当点击之后去掉@click方法,在select方法中加上self.select_list[self.i-1].selected=1

 for(var j=0;j<response.data.data[self.i].length;j++){
            //通过遍历得到每道题的六个选项j,然后找到is_jie===1的相应的url
            if(response.data.data[self.i][j].is_jie===1){
              self.right['img']=response.data.data[self.i][j].url;
            }
            //或去出is_right的那个一j值与上面的选项匹配,得出选项
            if(response.data.data[self.i][j].is_right===1){
              self.right['choose']=self.options[j-1];
            }
          }
          for(var k=0;k<Object.keys(self.test_list).length;k++){
            self.select_list.push({
              selected:0,
              status:0,
            })
          }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回1: h5项目的html页面是用于展示内容和与用户进行交互的界面。页面通常由多个标签构成,每个标签有不同的功能和样式。 首先,页面通常会包含标标签(例如`<h1>`或`<h2>`),用于显示项目的名称和描述,以吸引用户的注意力并让他们了解目的内容。 接下来,页面会包含目标签,比如用`<div>`或`<p>`标签来包裹一个或多个目。目可以是单选、多选或填空,每个目通常包含目文本和选项。 为了让用户进行选择或填写案,页面会包含选择框或输入框。比如,单选可以使用`<input type="radio">`标签实现选择,多选可以使用`<input type="checkbox">`标签实现多项选择,填空可以使用`<input type="text">`标签实现填写。 页面还可以包含按钮标签,用于用户提交案或进入下一。按钮通常使用`<button>`标签,可以加上点击事件来实现特定的操作,例如验证案或跳转到下一。 为了给用户提供提示或额外的信息,页面还可以包含提示信息的标签,比如使用`<div>`或`<p>`标签来展示目解析、正确案或任何其他需要用户知道的信息。 最后,为了使页面更加美观和易于使用,可以应用CSS样式表到页面上。通过CSS,可以设计页面的布局、颜色、字体和其他视觉效果。 总之,h5项目的html页面是为了向用户展示目、选项和交互界面,并通过CSS样式表提供美观的用户体验。 ### 回2: H5项目的HTML页面是指使用HTML5技术开发的一个用于的网页。在该页面中通常会包含目和选项,玩家需要根据目选择正确的选项进行。 HTML5是一种用于构建和呈现Web页面的标准,它提供了一系列的新功能和API,包括用于增强用户交互和动态效果的Canvas和WebGL,以及用于媒体播放和音频处理的Video和Audio标签。 在H5项目的HTML页面中,目和选项通常以文字和图片的形式呈现,可以使用HTML的文本标签(如<h1>、<p>)和图像标签(如<img>)来实现。 此外,为了使玩家能够选择案,页面通常会包含单选或多选框,可以使用HTML的<input type="radio">和<input type="checkbox">实现。当玩家选择案后,可以通过JavaScript代码来处理用户的选择,并给出反馈。 另外,为了提高用户体验和互动性,H5项目的HTML页面还可以包含倒计时计时器、进度条、动态效果等功能。这些可以使用HTML5的Canvas或CSS3的动画效果来实现。 总之,H5项目的HTML页面是以HTML5技术为基础的一个用于的网页,通过使用HTML的文本、图像、表单等元素,以及借助JavaScript和CSS实现各种功能和效果,帮助玩家进行和互动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值