找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 小程序开发 查看内容

微信小程序开发之五星评分(含半颗星评分)

作者:模板之家 2018-1-31 12:05 11470人关注

一位同学说要写五星评分.要有半颗星的评分. 于是我做了个玩具.有空了做模块化,这代码看不下去了. 代码: 1.index.wxml !--index.wxml--block wx:for={{stars}} image class=star-image style=left: {{item*150}}r


一位同学说要写五星评分.要有半颗星的评分. 
于是我做了个玩具.有空了做模块化,这代码看不下去了. 
star03.gif

代码: 
1.index.wxml
<!--index.wxml-->

<block wx:for="{{stars}}">

  <image class="star-image" style="left: {{item*150}}rpx" src="{{key > item ?(key-item == 0.5?halfSrc:selectedSrc) : normalSrc}}">

    <view class="item" style="left:0rpx" data-key="{{item+0.5}}" bindtap="selectLeft"></view>

    <view class="item" style="left:75rpx" data-key="{{item+1}}" bindtap="selectRight"></view>

  </image>

</block>

2.index.wxss




.item {

  position: absolute;

  top: 50rpx;

  width: 75rpx;

  height: 150rpx;

}


3.index.js
//index.js



//获取应用实例

var app = getApp()

Page({

  data: {

    stars: [0, 1, 2, 3, 4],

    normalSrc: '../../images/normal.png',

    selectedSrc: '../../images/selected.png',

    halfSrc: '../../images/half.png',

    key: 0,//评分

  },

  onLoad: function () {

  },

  //点击右边,半颗星

  selectLeft: function (e) {

    var key = e.currentTarget.dataset.key

    if (this.data.key == 0.5 && e.currentTarget.dataset.key == 0.5) {

      //只有一颗星的时候,再次点击,变为0颗

      key = 0;

    }

    console.log("得" + key + "分")

    this.setData({

      key: key

    })



  },

  //点击左边,整颗星

  selectRight: function (e) {

    var key = e.currentTarget.dataset.key

    console.log("得" + key + "分")

    this.setData({

      key: key

    })

  }

})


路过

雷人

握手

鲜花

鸡蛋
原作者: 模板之家 来自: 网络收集

全部回复(0)