微信小程序 五星评分(包括半颗星评分)实例代码


Posted in Javascript onDecember 14, 2016

微信小程序 五星评分

一位同学说要写五星评分.要有半颗星的评分.

于是我做了个玩具.有空了做模块化,这代码看不下去了.

微信小程序 五星评分(包括半颗星评分)实例代码

代码:

1.index.wxml

<!--index.wxml-->

<block wx:for="{{stars}}">

 <image class="star-image" style="left: {{item*150}}rpx" src="{{key > item ?(key-item == 0.5?halfSrc:selectedSrc) : normalSrc}}">

  <view class="item" style="left:0rpx" data-key="{{item+0.5}}" bindtap="selectLeft"></view>

  <view class="item" style="left:75rpx" data-key="{{item+1}}" bindtap="selectRight"></view>

 </image>

</block>

2.index.wxss

.star-image {

 position: absolute;

 top: 50rpx;

 width: 150rpx;

 height: 150rpx;

 src: "../../images/normal.png";

}



.item {

 position: absolute;

 top: 50rpx;

 width: 75rpx;

 height: 150rpx;

}

3.index.js

//index.js

//CSDN微信小程序开发专栏:http://blog.csdn.net/column/details/13721.html

//获取应用实例

var app = getApp()

Page({

 data: {

  stars: [0, 1, 2, 3, 4],

  normalSrc: '../../images/normal.png',

  selectedSrc: '../../images/selected.png',

  halfSrc: '../../images/half.png',

  key: 0,//评分

 },

 onLoad: function () {

 },

 //点击右边,半颗星

 selectLeft: function (e) {

  var key = e.currentTarget.dataset.key

  if (this.data.key == 0.5 && e.currentTarget.dataset.key == 0.5) {

   //只有一颗星的时候,再次点击,变为0颗

   key = 0;

  }

  console.log("得" + key + "分")

  this.setData({

   key: key

  })



 },

 //点击左边,整颗星

 selectRight: function (e) {

  var key = e.currentTarget.dataset.key

  console.log("得" + key + "分")

  this.setData({

   key: key

  })

 }

})

代码下载

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
Jan 02 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
JS不间断向上滚动效果代码
Dec 25 Javascript
JS遍历页面所有对象属性及实现方法
Aug 01 Javascript
bootstrap table单元格新增行并编辑
May 19 Javascript
Vue.js项目模板搭建图文教程
Sep 20 Javascript
vue-cli脚手架-bulid下的配置文件
Mar 27 Javascript
如何编写一个d.ts文件的步骤详解
Apr 13 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
Apr 23 Javascript
详解JWT token心得与使用实例
Aug 02 Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 Javascript
JS字符串和数组如何实现相互转化
Jul 02 Javascript
浅谈Javascript中的Label语句
Dec 14 #Javascript
详解jQuery中基本的动画方法
Dec 14 #Javascript
浅析上传头像示例及其注意事项
Dec 14 #Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 #Javascript
jQuery 常见小例汇总
Dec 14 #Javascript
javascript基本数据类型及类型检测常用方法小结
Dec 14 #Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
Dec 14 #Javascript
You might like
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
php的4种常见运行方式
2015/03/20 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
JS 时间显示效果代码
2009/08/23 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python安装Scrapy图文教程
2017/08/14 Python
python如何重载模块实例解析
2018/01/25 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
50道外企软件测试面试题
2014/08/18 面试题
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书
python实现A*寻路算法
2021/06/13 Python
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang