我们经常会有对服务或者物品的评价,通用的方式就是五星,通过触摸快速达到评级的效果。
先看一下实现的效果图:
如上图所示,这里我们要添加三个五星点评。第一个[描述符合],第二个[发货速度],第三个[服务态度]。
我们这里之讲解一下,“描述相符”的点评
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;*/
}
更多微信小程序中的五星点评。