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


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 相关文章推荐
关于递归运算的顺序测试代码
Nov 30 Javascript
基于jquery tab切换(防止页面刷新)
May 23 Javascript
JQuery 控制内容长度超出规定长度显示省略号
May 23 Javascript
jquery实现人性化的有选择性禁用鼠标右键
Jun 30 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
Dec 18 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
May 05 Javascript
js监听input输入框值的实时变化实例
Jan 26 Javascript
微信小程序 参数传递实例代码
Mar 20 Javascript
Vue.js 十五分钟入门图文教程
Sep 12 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
May 07 Javascript
Vue使用Proxy监听所有接口状态的方法实现
Jun 07 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
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
PHP操作数组相关函数
2011/02/03 PHP
openPNE常用方法分享
2011/11/29 PHP
php 发送带附件邮件示例
2014/01/23 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
基于hover的用法实例(推荐)
2017/07/04 Javascript
js禁止表单重复提交
2017/08/29 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
python遍历小写英文字母的方法
2019/01/02 Python
python数据归一化及三种方法详解
2019/08/06 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
UML设计模式笔试题
2014/06/07 面试题
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
辩论赛新闻稿
2015/07/17 职场文书
英语教学课后反思
2016/02/15 职场文书
javaScript Array api梳理
2021/03/31 Javascript
如何理解及使用Python闭包
2021/06/01 Python
SQLServer中exists和except用法介绍
2021/12/04 SQL Server