我们经常会有对服务或者物品的评价,通用的方式就是五星,通过触摸快速达到评级的效果。
先看一下实现的效果图:
如上图所示,这里我们要添加三个五星点评。第一个[描述符合],第二个[发货速度],第三个[服务态度]。
我们这里之讲解一下,“描述相符”的点评
WXML代码
<!--星星评价--> <view class="comment1-description" style="display:flex;flex-direction:row;"> <view class="comment1-description1">描述相符</view> <view class="star-pos" style="display:flex;flex-direction:row;"> <view class="stars {{flag0>=1? 'on': ''}}" bindtap="changeColor1"></view> <view class="stars {{flag0>=2? 'on': ''}}" bindtap="changeColor2"></view> <view class="stars {{flag0>=3? 'on': ''}}" bindtap="changeColor3"></view> <view class="stars {{flag0>=4? 'on': ''}}" bindtap="changeColor4"></view> <view class="stars {{flag0>=5? 'on': ''}}" bindtap="changeColor5"></view> </view> </view>
JS代码
Page({ data:{ flag:0 }, changeColor1:function(){ var that = this; that.setData( { flag: 1 }); }, changeColor2:function(){ var that = this; that.setData( { flag:2 }); }, changeColor3:function(){ var that = this; that.setData( { flag: 3 }); }, changeColor4:function(){ var that = this; that.setData( { flag:4
这里通过一个变量flag的值的变化,来控制和确定[描述相符]这个评分的具体值。
为每个星星都绑定了一个改变评分的事件函数,来设置值的变化。
WCSS代码
/*星星的样式*/ .stars{ background-image: url("http://m.dev.vd.cn/static/xcx/v1/goo/star(灰)@1.5x.png"); width: 43rpx; height: 43rpx; background-size: 43rpx 43rpx; margin-left: 40rpx; } .on{ background-image: url("http://m.dev.vd.cn/static/xcx/v1/goo/star@1.5x.png"); width: 43rpx; height: 43rpx; background-size: 43rpx 43rpx; /*margin-left: 10px;*/ }
更多微信小程序中的五星点评相关文章请关注PHP中文网!