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


Posted in Javascript onApril 06, 2017

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

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

我写的是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<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
   }
  });
}
});

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

Javascript 相关文章推荐
Prototype 学习 Prototype对象
Jul 12 Javascript
基于JQuery的一句话搞定手风琴菜单
Sep 14 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
Jun 05 Javascript
javaScript中slice函数用法实例分析
Jun 08 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
May 11 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
微信分享调用jssdk实例
Jun 08 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
Jul 26 Javascript
Vue项目中如何引入icon图标
Mar 28 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
Vuejs监听vuex中值的变化的方法示例
Dec 02 Javascript
原生javascript上传图片带进度条【实例分享】
Apr 06 #Javascript
jQuery实现文章图片弹出放大效果
Apr 06 #jQuery
vue.js指令和组件详细介绍及实例
Apr 06 #Javascript
javascript闭包功能与用法实例分析
Apr 06 #Javascript
深入理解 JavaScript 中的 JSON
Apr 06 #Javascript
ES6中module模块化开发实例浅析
Apr 06 #Javascript
ES6中class类用法实例浅析
Apr 06 #Javascript
You might like
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
js实现右键菜单功能
2016/11/28 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
python实现telnet客户端的方法
2015/04/15 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
pycharm 安装JPype的教程
2019/08/08 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
数控专业个人求职信范例
2013/11/29 职场文书
办公室主任先进事迹
2014/01/18 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
部队万能检讨书
2014/02/20 职场文书
考察邀请函范文
2015/01/31 职场文书
服务员岗位职责
2015/02/03 职场文书
聘任合同书
2015/09/21 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL