本文实例为大家分享了微信小程序实现星级评分的具体代码,供大家参考,具体内容如下 第一种方法: WXML代码: <view> 星级评分 </view&g
本文实例为大家分享了微信小程序实现星级评分的具体代码,供大家参考,具体内容如下
WXML代码:
<view>
星级评分
</view>
<view>
<block class="brightStars">
<image data-index='0' data-no="{{item}}" wx:for="{{starsBox}}" bindtap="changePic" wx:key="index" src="{{flag[0]>=item? '../img/starFull.png' : '../img/star.png'}}"></image>
</block>
<view class="texts">{{startext[0]}}</view>
</view>
JS代码:
Page({
data: {
flag: [0, 0, 0],
startext: ['', '', '', ],
starsBox: [1, 2, 3, 4, 5]
},
changePic: function (e) {
var index = e.currentTarget.dataset.index;
console.log(index,'-');
var num = e.currentTarget.dataset.no;
console.log(num);
var a = 'flag[' + index + ']';
console.log(a);
var b = 'startext[' + index + ']';
console.log(b);
var that = this;
if (num == 1) {
that.setData({
[a]: 1,
[b]: '非常不满意'
});
} else if (num == 2) {
that.setData({
[a]: 2,
[b]: '不满意'
});
} else if (num == 3) {
that.setData({
[a]: 3,
[b]: '一般'
});
} else if (num == 4) {
that.setData({
[a]: 4,
[b]: '满意'
});
} else if (num == 5) {
that.setData({
[a]: 5,
[b]: '非常满意'
});
}
},
})
WXSS代码:
.container{
display: flex;
flex-direction: row;
padding: 0;
flex-wrap: nowrap;
}
image{
width: 50px;
height: 50px;
}
WXML内容:
<view>星级评分</view>
<block wx:for="{{starYesNum}}" wx:key="index">
<image bindtap="selectStar" id='{{index+1}}' data-in='selectStarYes' src='../../static/img/starY.png'></image>
</block>
<block wx:for="{{starNoNum}}" wx:key="index">
<image bindtap='selectStar' id='{{index+1}}' data-in='selectStarNo' src='../../static/img/starN.png'></image>
</block>
<view>{{starYesNum}}星</view>
第一个block标签内是亮星星的盒子
第二个block标签内是不亮星星的盒子
通过改变亮星星的数量和不亮星星的数量实现星级
JS代码:
Page({
data: {
starYesNum:0, //点亮的星星数量
starNoNum:5, //不点亮的星星数量
},
selectStar:function(e){
console.log(e.target.id);
console.log(e.currentTarget.dataset.in);
//判断点击的星星是亮的星星还是不亮的星星,并进行设置
if(e.currentTarget.dataset.in == 'selectStarNo'){
this.setData({
starYesNum: Number(e.target.id) + Number(this.data.starYesNum),
starNoNum:5-Number(e.target.id) - Number(this.data.starYesNum)
})
}else{
this.setData({
starYesNum:Number(e.target.id ),
starNoNum:Number(5-e.target.id)
})
}
},
})
--结束END--
本文标题: 微信小程序实现星级评分
本文链接: https://lsjlt.com/news/157465.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0