微信小程序实现展示评分结果功能


Posted in Javascript onFebruary 15, 2019

本文实例为大家分享了微信小程序实现展示评分结果的具体代码,供大家参考,具体内容如下

星星评分展示1

根据评分展示整颗行星或者半颗星星

星星评分展示2

根据评分按照小数点展示整颗行星或者部分星星

wxml

<view class="conmmentbox">
 <view class="starbox">
 <view class="stars2" style="width: 130rpx"> 
  <view>
  <image src="../../image/token_img/lp_ct2.png"></image>
  <image src="../../image/token_img/lp_ct2.png"></image>
  <image src="../../image/token_img/lp_ct2.png"></image>
  <image src="../../image/token_img/lp_ct2.png"></image>
  <image src="../../image/token_img/lp_ct2.png"></image>
  </view>
 </view>
 <view class="stars" style="width: {{praisestars}};">
  <view>
  <image src="../../image/token_img/lp_dj1.png"></image>
  <image src="../../image/token_img/lp_dj1.png"></image>
  <image src="../../image/token_img/lp_dj1.png"></image>
  <image src="../../image/token_img/lp_dj1.png"></image>
  <image src="../../image/token_img/lp_dj1.png"></image>
  </view>
 </view> 
 </view>    
  {{ praiseNum }}分
</view>

wxss

.conmmentbox{
 display: inline-block;
 font-size: 22rpx;
 color: #F74754;
}
.conmmentstars{
 width: 26rpx;
 height: 26rpx;
}
.doortimes{
 color: #F74754;
 margin-left: 10rpx;
}
.starbox{
 width: 130rpx;
 height: 30rpx;
 position: relative;
 display: inline-block;
 overflow: hidden;
 float: left;
}
.stars{
 width: 130rpx;
 height: 30rpx;
 position: relative;
 top: 0;
 left: 0;
 overflow: hidden;
}
.stars2{
 height: 30rpx;
 width: 130rpx;
 overflow: hidden;
 position: absolute;
 top: 0;
 left: 0;
 overflow: hidden;
}
.stars image,.stars2 image{
 width: 26rpx;
 height: 26rpx;
 float: left;
 white-space:nowrap;
}
.stars view,.stars2 view{
 width: 130rpx;
 position: absolute;
}

js

//星星评分
var praiseNums=res.data.result.praiseNum;//获取数据评分
var praisestars=(praiseNums/5)*100+'%';
// console.log(praisestars);
that.setData({
 praisestars: praisestars
})

星星评分

单击星星,整颗星星

wxml

<!--pages/test/test.wxml--> 
<view> 
  <view>一:显示后台给的评分</view> 
  <block wx:for="{{one_1}}"> 
    <image src='../../images/use_sc2.png'></image> 
  </block> 
  <block wx:for="{{two_1}}"> 
    <image src='../../images/use_sc.png'></image> 
  </block> 
</view> 
<view>这里num给的是几分就显示几颗星星</view> 
<view style='margin-top:60px;'>二:显示用户选择的评分</view> 
<block wx:for="{{one_2}}" wx:key="index"> 
  <image catchtap='in_xin' id='{{index+1}}' data-in='use_sc2' src='../../images/use_sc2.png'></image> 
</block> 
<block wx:for="{{two_2}}" wx:key="index"> 
  <image catchtap='in_xin' id='{{index+1}}' data-in='use_sc' src='../../images/use_sc.png'></image> 
</block> 
<view>{{one_2}}星</view>

js

// pages/test/test.js 
Page({ 
 /** 
  * 统一满分为5星 
  */ 
 data: { 
  num: 4,//后端给的分数,显示相应的星星 
  one_1: '', 
  two_1: '', 
  one_2: 0, 
  two_2: 5 
 }, 
 onLoad: function (options) { 
  //情况一:展示后台给的评分 
    this.setData({ 
     one_1: this.data.num, 
     two_1: 5 - this.data.num 
    }) 
 }, 
 
 //情况二:用户给评分 
 in_xin:function(e){ 
  var in_xin = e.currentTarget.dataset.in; 
  var one_2; 
  if (in_xin === 'use_sc2'){ 
   one_2 = Number(e.currentTarget.id); 
  } else { 
   one_2 = Number(e.currentTarget.id) + this.data.one_2; 
  } 
  this.setData({ 
   one_2: one_2, 
   two_2: 5 - one_2 
  }) 
 } 
})

wxss

/* pages/test/test.wxss */ 
image{ 
 height: 60rpx; 
 width: 60rpx; 
 display: inline-block 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Js中setTimeout()和setInterval() 何时被调用执行的用法
Apr 12 Javascript
纯js分页代码(简洁实用)
Nov 05 Javascript
jQuery中Dom的基本操作小结
Jan 23 Javascript
js实现点击左右按钮轮播图片效果实例
Jan 29 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
jquery对Json的各种遍历方法总结(必看篇)
Sep 29 Javascript
JavaScript数据结构之数组的表示方法示例
Apr 12 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
浅谈在fetch方法中添加header后遇到的预检请求问题
Aug 31 Javascript
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
Vue实现boradcast和dispatch的示例
Nov 13 Javascript
微信小程序时间标签和时间范围的联动效果
Feb 15 #Javascript
微信小程序实现商品属性联动选择
Feb 15 #Javascript
微信小程序实现购物页面左右联动
Feb 15 #Javascript
微信小程序基于picker实现级联菜单
Feb 15 #Javascript
微信小程序实现多个按钮的颜色状态转换
Feb 15 #Javascript
详解react-refetch的使用小例子
Feb 15 #Javascript
小程序实现多列选择器
Feb 15 #Javascript
You might like
PHP实现分页的一个示例
2006/10/09 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
2008/06/07 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
BOOM vs RR BO5 第二场 2.14
2021/03/10 DOTA
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
浅谈js中的this问题
2017/08/31 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python将时分秒转换成秒的实例
2019/12/07 Python
Python创建自己的加密货币的示例
2021/03/01 Python
高校毕业生登记表自我鉴定
2013/11/03 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
同学聚会主持词
2014/03/18 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2015年暑假生活总结
2015/07/13 职场文书