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


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 &amp; DHTML 实例编程(教程)DOM基础和基本API
Jun 02 Javascript
javascript 新浪背投广告实现代码
Jul 07 Javascript
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
Sep 20 Javascript
文档对象模型DOM通俗讲解
Nov 01 Javascript
删除javascript所创建子节点的方法
May 21 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 Javascript
盘点javascript 正则表达式中 中括号的【坑】
Mar 16 Javascript
jQuery之简单的表单验证实例
Jul 07 Javascript
JS代码实现百度地图 画圆 删除标注
Oct 12 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
Nov 27 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
Sep 17 Javascript
vue-cli3配置favicon.ico和title的流程
Oct 27 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数字游戏 计算24算法
2012/06/10 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
php发送post请求的三种方法
2014/02/11 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
了解JavaScript表单操作和表单域
2019/05/27 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
2019/09/10 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
linux 下实现python多版本安装实践
2014/11/18 Python
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
用python做游戏的细节详解
2019/06/25 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
django rest framework 自定义返回方式
2020/07/12 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
原告代理词范文
2015/05/25 职场文书
新员工入职感想
2015/08/07 职场文书
心理健康教育主题班会
2015/08/13 职场文书
入党转正申请书范文
2019/05/20 职场文书
赞美教师的句子
2019/09/02 职场文书
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android