小程序实现选择题的显示方法

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

小程序实现选择题的显示方法_第1张图片小程序实现选择题的显示方法_第2张图片小程序实现选择题的显示方法_第3张图片

wxml代码:


  a
  b
  c
  d

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: 400 rpx ;
height: 150 rpx ;
background-color: grey ;

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


你可能感兴趣的:(工作学习笔记,微信小程序,javascript)