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


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判断一个元素是否为另一个元素的子元素的代码
Mar 21 Javascript
js验证真实姓名与身份证号是否匹配
Oct 13 Javascript
JQuery遍历元素的后代和同胞实现方法
Sep 18 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
Apr 24 Javascript
详解Angular2组件之间如何通信
Jun 22 Javascript
基于Node.js模板引擎教程-jade速学与实战1
Sep 17 Javascript
JavaScript实现区块链
Mar 14 Javascript
vue按需加载实例详解
Sep 06 Javascript
原生JS实现烟花效果
Mar 10 Javascript
javascript的var与let,const之间的区别详解
Feb 18 Javascript
TS 类型兼容教程示例详解
Sep 23 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中Socket创建与监听实现方法
2015/01/05 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
索趣科技的答案
2007/02/07 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
JavaScript 是什么意思
2016/09/22 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
详解uniapp的全局变量实现方式
2021/01/11 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
python如何把字符串类型list转换成list
2020/02/18 Python
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
大学生毕业求职简历的自我评价
2013/10/24 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
另类冲刺标语
2014/06/24 职场文书
国际会计专业求职信
2014/08/04 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
法学专业求职信范文
2015/03/19 职场文书
大学学生会辞职信
2015/05/13 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript