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


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 相关文章推荐
JavaScript面向对象编程
Mar 02 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
Jun 19 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
实例学习JavaScript读取和写入cookie
Jan 29 Javascript
Node.js应用设置安全的沙箱环境
Apr 23 Javascript
使用vuex解决刷新页面state数据消失的问题记录
May 08 Javascript
layui实现tab的添加拒绝重复的方法
Sep 04 Javascript
详解Vue中CSS样式穿透问题
Sep 12 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
Sep 28 Javascript
vue移动端模态框(可传参)的实现
Nov 20 Javascript
vue中watch和computed的区别与使用方法
Aug 23 Javascript
使用js和canvas实现时钟效果
Sep 08 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
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
php disk_free_space 返回目录可用空间
2010/05/10 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
php基本函数汇总
2015/07/09 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
htm调用JS代码
2007/03/15 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
python使用zip将list转为json的方法
2018/12/31 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
自荐书封面下载
2013/11/29 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
国庆节主题班会
2015/08/15 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
Pandas自定义选项option设置
2021/07/25 Python
Golang日志包的使用
2022/04/20 Golang