这篇文章主要介绍了微信小程序如何实现五星评分效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何实现五星评分效果文章都会有所收获,下面我们一起来看看吧。
微信小程序五星评分效果实现代码
像这样的,分别代表分数为0,0.5,1 时的状态,
然后上代码:
js:
function pingfenxing(pingfen){
var that=this, //这里是图片的路径,自己需要改
data={
ling:"img/pingfen0.png",
zheng:"img/pingfen2.png",
ban:"img/pingfen1.png" },
nums=[];//这里是返回图片排列的顺序的数组,这里要注意在页面使用的时候图片的路径,不过使用网络图片无所谓 if((pingfen/0.5)%2==0){//如果评分为整数,如4.0、5.0
for(var i=0;i<5;i++){
if(i<pingfen){
nums.push(data.zheng);
}else{
nums.push(data.ling);
}
}
}else{//评分不为整数,如3.5、2.5
for(var i=0;i<5;i++){
if(i<pingfen-0.5){
nums.push(data.zheng);//先把整数分离出来,如:3.5,这里就是先把3分离出来,把代表1的图片放进去
}else if(i==(pingfen-0.5)){
nums.push(data.ban);//把小数的部分分离出来,如:3.5里的0.5,把代表0.5的图片放进去
}else{
nums.push(data.ling);//然后剩下的就是没有满的用代表0的图片放进去,如:3.5,里面放进去了3个代表1的图片,然后放入了1个代表0.5的图片,最后还剩一个图片的位置,这时候就放代表0的图片
}
}
}
return num; } module.exports = { pingfen:pingfenxing }
WXML代码:
<view class="pingfen">
<block wx:for="{{item.pingfenpic}}" wx:key="{{item.id}}" wx:for-item="pingfen">
<image class="img" src="{{pingfen}}"></image>
</block>
<text data-pingfen="{{item.pingfen}}" >{{item.pingfen}}</text>
</view>
使用这个功能的页面的JS代码:
var pingxin=require("../../utils/pingxing.js");
Page({ data:{ tuangou:tuangou}//我这里是在页面加载的时候先从后台获取数据,把数据的值赋值给tuangou,然后遍历将数据里面的参数拿出来,然后再把相应的评分中的图片排列顺序放到这条数据中的pingfenpic中保存,然后在页面中渲染即可
onLoad:function(options){
console.log('onLoad');
var that=this;
// 页面初始化 options为页面跳转所带来的参数
wx.request({
url: 'https://wxapp.com/tuangou',//这里是你请求数据的接口地址,自己填写
data: {},
method: 'GET',
success: function(res){
// success
console.log(res.data.tuangou);
let tuangou=res.data.tuangou;
for(let i=0;i<tuangou.length;i++){
tuangou[i].pingfenpic=pingxin.pingfen(parseFloat(tuangou[i].pingfen));//使用函数将评分变为图片排列的数组,这里要注意,如果评分传过来的是字符串 需要将它变为数字
}
that.setData({
tuangou:tuangou
});
console.log(that.data.tuangou);
},
fail: function() {
// fail
},
complete: function() {
// complete
}
}); }
});
关于“微信小程序如何实现五星评分效果”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“微信小程序如何实现五星评分效果”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.xuebuyuan.com/3273277.html