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


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 相关文章推荐
IE iframe的onload方法分析小结
Jan 07 Javascript
jquery.validate分组验证代码
Mar 17 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
Mar 23 Javascript
AngularJS 最常用的功能汇总
Feb 17 Javascript
jQuery中的Deferred和promise 的区别
Apr 03 Javascript
解析预加载显示图片艺术
Dec 05 Javascript
基于js实现二级下拉联动
Dec 17 Javascript
浅谈javascript的url参数parse和build函数
Mar 04 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 Javascript
关于Vue在ie10下空白页的debug小结
May 02 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 Javascript
小程序接口的promise化的实现方法
Dec 11 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实现Google plus的好友拖拽分组效果
2016/10/21 PHP
php格式文件打开的四种方法
2018/02/24 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
分析python动态规划的递归、非递归实现
2018/03/04 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
Python实现分段线性插值
2018/12/17 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
基于python3生成标签云代码解析
2020/02/18 Python
新教师培训方案
2014/06/08 职场文书
社团活动总结模板
2014/06/30 职场文书
运动会广播稿200字
2014/10/18 职场文书
党员作风建设自查报告
2014/10/23 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
小学班级标语口号大全
2015/12/26 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server