小程序实现选择题选择效果


Posted in Javascript onNovember 04, 2018

本文实例为大家分享了小程序实现选择题的显示方法,供大家参考,具体内容如下

下面是三张效果图:初始图,选项正确图,选项错误图。

小程序实现选择题选择效果小程序实现选择题选择效果小程序实现选择题选择效果

wxml代码:

<view class='selection'>
 <view class='{{view1}}' bindtap='view1Click' id='1'>a</view>
 <view class='{{view2}}' bindtap='view2Click' id='2'>b</view>
 <view class='{{view3}}' bindtap='view3Click' id='3'>c</view>
 <view class='{{view4}}' bindtap='view4Click' id='4'>d</view>
</view>

js代码:

Page({ 
 
 /** 
  * 页面的初始数据 
  */ 
 data: { 
  view1: 'selection1', 
  view2: 'selection1', 
  view3: 'selection1', 
  view4: 'selection1', 
  // 默认答案为2,后台会给的 
  key: 2, 
  // 选项是否被点击 
  isSelect: false 
 }, 
 
 view1Click: function(e) { 
  var select = e.target.id 
  // 选项没被选择时将执行 
  if (!this.data.isSelect) { 
   // 将选项设置为“已被选择” 
   this.setData({ 
    isSelect: true 
   }) 
   // 注意!此处必须是'=='而不是'=' 
   if (select == this.data.key) { 
    this.setData({ 
     view1: 'selection2' 
    }) 
   } else { 
    this.setData({ 
     view1: 'selection3' 
    }) 
    // 将正确选项显示出来 
    this.showAnswer(this.data.key) 
   } 
 
  } 
 }, 
 view2Click: function(e) { 
  var select = e.target.id 
  // 选项没被选择时将执行 
  if (!this.data.isSelect) { 
   this.setData({ 
    isSelect: true 
   }) 
   // 注意!此处必须是'=='而不是'=' 
   if (select == this.data.key) { 
    this.setData({ 
     view2: 'selection2' 
    }) 
   } else { 
    this.setData({ 
     view2: 'selection3' 
    }) 
    // 将正确选项显示出来 
    this.showAnswer(this.data.key) 
   } 
 
  } 
 }, 
 view3Click: function(e) { 
  var select = e.target.id 
  // 选项没被选择时将执行 
  if (!this.data.isSelect) { 
   this.setData({ 
    isSelect: true 
   }) 
   // 注意!此处必须是'=='而不是'=' 
   if (select == this.data.key) { 
    this.setData({ 
     view3: 'selection2' 
    }) 
   } else { 
    this.setData({ 
     view3: 'selection3' 
    }) 
    // 将正确选项显示出来 
    this.showAnswer(this.data.key) 
   } 
 
  } 
 }, 
 view4Click: function(e) { 
  var select = e.target.id 
  // 选项没被选择时将执行 
  if (!this.data.isSelect) { 
   this.setData({ 
    isSelect: true 
   }) 
   // 注意!此处必须是'=='而不是'=' 
   if (select == this.data.key) { 
    this.setData({ 
     view4: 'selection2' 
    }) 
   } else { 
    this.setData({ 
     view4: 'selection3' 
    }) 
    // 将正确选项显示出来 
    this.showAnswer(this.data.key) 
   } 
 
  } 
 }, 
 showAnswer: function(key) { 
  // 通过swith语句判断正确答案,从而显示正确选项 
  switch (key) { 
   case 1: 
    this.setData({ 
     view1: 'selection2' 
    }) 
    break; 
   case 2: 
    this.setData({ 
     view2: 'selection2' 
    }) 
    break; 
   case 3: 
    this.setData({ 
     view3: 'selection2' 
    }) 
    break; 
   default: 
    this.setData({ 
     view4: 'selection2' 
    }) 
  } 
 } 
})

wxss代码:

.selection1{
width: 400rpx;
height: 150rpx;
background-color: grey;

display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
}
.selection2{
width: 400rpx;
height: 150rpx;
background-color: blue;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
}
.selection3{
width: 400rpx;
height: 150rpx;
background-color: red;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
}
.selection{
width: 750rpx;
height: 800rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 捕获窗口关闭事件
Jul 26 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
Dec 27 Javascript
jquery的相对父元素和相对文档定位示例代码
Aug 02 Javascript
JS原生轮播图的简单实现(推荐)
Jul 22 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
Jan 08 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
Oct 18 Javascript
细说Vue组件的服务器端渲染的过程
May 30 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
Nov 05 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
Python版实现微信公众号扫码登陆
May 28 Javascript
vue 内联样式style中的background用法说明
Aug 05 Javascript
vue 递归组件的简单使用示例
Jan 14 Vue.js
小程序实现单选多选功能
Nov 04 #Javascript
Vuex的基本概念、项目搭建以及入坑点
Nov 04 #Javascript
微信小程序实现登录注册tab切换效果
Dec 29 #Javascript
原生js实现淘宝放大镜效果
Oct 28 #Javascript
微信小程序如何获取手机验证码
Nov 04 #Javascript
微信小程序实现弹出层效果
May 26 #Javascript
微信小程序实现预览图片功能
Oct 22 #Javascript
You might like
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
javascript prototype 原型链
2009/03/12 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
深入了解js原型模式
2019/05/30 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
Python写的Socks5协议代理服务器
2014/08/06 Python
python杀死一个线程的方法
2015/09/06 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
Python之web模板应用
2017/12/26 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
德国运动营养和健身网上商店:Myprotein.de
2018/07/18 全球购物
财务副总经理工作职责
2013/11/25 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
2015年大学社团工作总结
2015/04/09 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书
亲情作文之母爱
2019/09/25 职场文书
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python