微信小程序实现星级评分和展示


Posted in Javascript onJuly 05, 2018

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

星级评分分成两种情况: 一:展示后台给的评分数据   二:用户点击第几颗星星就显示为几星评分;

微信小程序实现星级评分和展示

直接上代码

wxml部分

<view>
 <view>一:显示后台给的评分</view>
 <block wx:for="{{one_1}}" wx:key="item">
 <image src='../../image/star.png'></image>
 </block>
 <block wx:for="{{two_1}}" wx:key="item">
 <image src='../../image/starg.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='star' src='../../image/star.png'></image>
</block>
<block wx:for="{{two_2}}" wx:key="index">
 <image catchtap='in_xin' id='{{index+1}}' data-in='starg' src='../../image/starg.png'></image>
</block>
<view>{{one_2}}星</view>

wxss部分

image{ 
 height: 60rpx; 
 width: 60rpx; 
 display: inline-block 
}

js部分

/**
 * 页面的初始数据
 * 满分为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;
 console.log(e.currentTarget.dataset.in);
 console.log(e.currentTarget); 
 var one_2;
 if (in_xin == 'star') {
 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
 })
 },

starg是灰色的星星,star是点亮的星星。if判断那里:如果点击的是点亮的星星的话,点亮星星的个数就是点的这个ID。如果点的是灰色星星的话,点亮星星的个数就是点的这个ID加上已点的个数。而ID就是星星的个数。

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

Javascript 相关文章推荐
JAVASCRIPT对象及属性
Feb 13 Javascript
JS backgroundImage控制
May 19 Javascript
jquery 查找iframe父级页面元素的实现代码
Aug 28 Javascript
基于jQuery中对数组进行操作的方法
Apr 16 Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
Sep 26 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
Oct 21 Javascript
Vue.js一个文件对应一个组件实践
Oct 27 Javascript
老生常谈jquery id选择器和class选择器的区别
Feb 12 Javascript
jQuery实现frame之间互通的方法
Jun 26 jQuery
浅谈vuex的基本用法和mapaction传值问题
Nov 08 Javascript
vue 函数调用加括号与不加括号的区别
Oct 29 Javascript
vue-router history模式下的微信分享小结
Jul 05 #Javascript
微信小程序实现运动步数排行功能(可删除)
Jul 05 #Javascript
微信小程序之批量上传并压缩图片的实例代码
Jul 05 #Javascript
JavaScript控制浏览器全屏显示简单示例
Jul 05 #Javascript
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 #jQuery
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 #Javascript
微信小程序开发之改变data中数组或对象的某一属性值
Jul 05 #Javascript
You might like
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
python实现Adapter模式实例代码
2018/02/09 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
委托书范文
2014/04/02 职场文书
党支部换届选举方案
2014/05/08 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
航班延误投诉信
2015/07/02 职场文书
React自定义hook的方法
2022/06/25 Javascript