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


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 相关文章推荐
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
javascript定时变换图片实例代码
Mar 17 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
May 27 Javascript
js获取本机的外网/广域网ip地址完整源码
Aug 12 Javascript
JavaScript中toString()方法的使用详解
Jun 05 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
Jul 15 Javascript
Vue中建立全局引用或者全局命令的方法
Aug 21 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
Sep 06 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 jQuery
如何从零开始手写Koa2框架
Mar 22 Javascript
React-redux实现小案例(todolist)的过程
Sep 29 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 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
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
jquery.ui.draggable中文文档
2009/11/24 Javascript
jQuery参数列表集合
2011/04/06 Javascript
javascript检测浏览器flash版本的实现代码
2011/12/06 Javascript
JS清空多文本框、文本域示例代码
2014/02/24 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
js+html制作简单日历的方法
2017/06/27 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
2020/03/14 Javascript
[01:32]TI奖金增速竟因它再创新高!DOTA2勇士令状不朽珍藏Ⅰ饰品欣赏
2018/05/18 DOTA
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
python-opencv颜色提取分割方法
2018/12/08 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
财务会计毕业生个人求职信
2014/02/03 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
学校与家长安全责任书
2014/07/23 职场文书
综合办公室岗位职责
2015/04/11 职场文书
农贸批发市场管理制度
2015/08/07 职场文书
经销商会议开幕词
2016/03/04 职场文书
MySQL 数据类型详情
2021/11/11 MySQL