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


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 相关文章推荐
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 Javascript
用JS判断IE版本的代码 超管用!
Aug 09 Javascript
页面回到顶部的三种实现(锚标记,js)
Oct 01 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
Apr 10 Javascript
jQuery实现图片预加载效果
Nov 27 Javascript
谈谈AngularJs中的隐藏和显示
Dec 09 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
node.js将MongoDB数据同步到MySQL的步骤
Dec 10 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
Feb 02 Javascript
微信小程序云开发之使用云函数
May 17 Javascript
javascript canvas检测小球碰撞
Apr 17 Javascript
利用PHP实现递归删除链表元素的方法示例
Oct 23 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
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
python中的随机函数random的用法示例
2018/01/27 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
文员岗位职责范本
2014/03/08 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
工人先进事迹材料
2014/12/26 职场文书
服务承诺书
2015/01/19 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
工程质检员岗位职责
2015/04/08 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
电力安全学习心得体会
2016/01/18 职场文书
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫