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


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 播放器 控制
Jan 22 Javascript
JavaScript 函数调用规则
Sep 14 Javascript
jquery 选择器部分整理
Oct 28 Javascript
jquery select(列表)的操作(取值/赋值)
Mar 16 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
Jul 12 Javascript
探讨JavaScript中声明全局变量三种方式的异同
Dec 03 Javascript
javascript获取元素偏移量的方法有哪些
Jun 24 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
使用jquery实现仿百度自动补全特效
Jul 23 Javascript
Angular中sweetalert弹框的基本使用教程
Jul 22 Javascript
微信小程序实现的图片保存功能示例
Apr 24 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
Jul 12 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
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
自制PHP框架之设计模式
2017/05/07 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
详解微信UnionID作用
2019/05/15 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
Python内存管理实例分析
2019/07/10 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
Weblogic和WebSphere不同特点
2012/05/09 面试题
会计电算化专业求职信
2014/06/10 职场文书
婚礼答谢词
2015/01/04 职场文书
责任书范本大全
2015/05/11 职场文书
企业年会祝酒词
2015/08/11 职场文书
导游词之天津古文化街
2019/11/09 职场文书