话不多说,我们来看一下效果图:
要实现的效果:点击到第几颗星,就要显示到第几颗星,
接下来直接查看源码:
|
1
2
3
4
5
6
7
8
9
10
|
<view class="l-evalbox
row">
<text class="l-evaltxt">满意度:</text>
<view class="l-evalist
flex-1" bindtap="chooseicon">
<icon class="{{tabArr.curHdIndex
>'0'? 'cur icon' : 'icon'}}" data-id="1"></icon>
<icon class="{{tabArr.curHdIndex
>'1'? 'cur icon' : 'icon'}}" data-id="2"></icon>
<icon class="{{tabArr.curHdIndex
>'2'? 'cur icon' : 'icon'}}" data-id="3"></icon>
<icon class="{{tabArr.curHdIndex
>'3'? 'cur icon' : 'icon'}}" data-id="4"></icon>
<icon class="{{tabArr.curHdIndex
>'4'? 'cur icon' : 'icon'}}" data-id="5"></icon>
</view>
</view>
|
css如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
.l-evalbox{
height:
100rpx;
padding:
0 3%;
margin-top:
10rpx;
background:
#FFF;
line-height:
100rpx;
}
.l-evaltxt{
width:
120rpx;
display:
block;
font-size:
26rpx;
color:
#666666;
}
.l-evalist
.icon{
background-position:
-77rpx -246rpx;
width:
40rpx;
height:
43rpx;
margin-right:
30rpx;
}
.l-evalist
.cur{
background-position:
-128rpx -246rpx;
}
.l-evalist
.icon:last-child{
margin:
0;
}
|
js代码如下:
|
1
2
3
4
5
6
7
8
9
10
|
chooseicon:function(e){
var strnumber=e.target.dataset.id;
var _obj={};
_obj.curHdIndex=strnumber;
this.setData({
tabArr:
_obj
});
},
|
这样效果显示如下: