微信小程序五星评分效果实现代码

网友投稿 264 2023-05-25


微信小程序五星评分效果实现代码

微信小程序五星评分效果实现代码

很多做过电商项目的朋友会经常用到评分的功能,我这里正好写了一个例子,发出来分享一下:

我写的是5分满分制的,首先,准备3个图片,

,像这样的,分别代表分数为0,0.5,1 时的状态,

效果图:(以3.5为例)

然后上代码:

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

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(ihttp://==(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代码:

{{item.pingfen}}

使用这个功能的页面的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(resVLENezkV){

// success

console.log(res.data.tuangou);

let tuangou=res.data.tuangou;

for(let i=0;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

}

});  }

});

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

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(ihttp://==(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代码:

{{item.pingfen}}

使用这个功能的页面的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(resVLENezkV){

// success

console.log(res.data.tuangou);

let tuangou=res.data.tuangou;

for(let i=0;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

}

});  }

});

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

tuangou[i].pingfenpic=pingxin.pingfen(parseFloat(tuangou[i].pingfen));//使用函数将评分变为图片排列的数组,这里要注意,如果评分传过来的是字符串 需要将它变为数字

}

that.setData({

tuangou:tuangou

});

console.log(that.data.tuangou);

},

fail: function() {

// fail

},

complete: function() {

// complete

}

});  }

});

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序 图片宽度自适应的实现
下一篇:ES6中class类用法实例浅析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~