微信小程序实现星星评价效果


Posted in Javascript onNovember 02, 2018

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

微信小程序实现星星评价效果

代码实现

wxml文件

<!--pages/evaluatepage/evaluatepage.wxml-->

<view class='container'>
 <view class='evaluate_contant'>
 <!--外层循环控制有几个评价条目 -->
 <block wx:for='{{evaluate_contant}}' wx:key='' wx:for-index='idx'>
 <view class='evaluate_item'>
  <view class='evaluate_title'>{{item}}</view>

  <!--星星评价 -->
  <view class='evaluate_box'>
  <!--内层循环展示每个评价条目的星星 -->
  <block wx:for="{{stars}}" wx:key=''>
  <image class="star-image" style="left: {{item*80}}rpx" src="{{scores[idx] > item ?(scores[idx]-item == 0.5?halfSrc:selectedSrc) : normalSrc}}">
  <view class="item" style="left:0rpx" data-score="{{item + 0.5}}" data-idx='{{idx}}' bindtap="selectLeft"></view>
  <view class="item" style="left:20rpx" data-score="{{item + 1}}" data-idx='{{idx}}' bindtap="selectRight"></view>
  </image>
  </block>
  </view>

 </view>
 </block>
 <button class='submit_button' bindtap='submit_evaluate' type='primary'>提交</button>
 </view>
</view>

js文件

Page({

 data: {
 evaluate_contant: ['评价条目一', '评价条目二', '评价条目三',],
 stars: [0, 1, 2, 3, 4],
 normalSrc: '../../images/no-star.png',
 selectedSrc: '../../images/full-star.png',
 halfSrc: '../../images/half-star.png',
 score: 0,
 scores: [0, 0, 0],
 },

 // 提交事件
 submit_evaluate: function () {
 console.log('评价得分' + this.data.scores)
 },

 //点击左边,半颗星
 selectLeft: function (e) {
 var score = e.currentTarget.dataset.score
 if (this.data.score == 0.5 && e.currentTarget.dataset.score == 0.5) {
 score = 0;
 }

 this.data.scores[e.currentTarget.dataset.idx] = score,
 this.setData({
 scores: this.data.scores,
 score: score
 })

 },

 //点击右边,整颗星
 selectRight: function (e) {
 var score = e.currentTarget.dataset.score

 this.data.scores[e.currentTarget.dataset.idx] = score,
 this.setData({
 scores: this.data.scores,
 score: score
 })
 }
})

wxss

/*评价区域 */
.container .evaluate_contant .evaluate_item {
 font-size: 30rpx;
 color: gray;
 margin-left: 20rpx;
 margin-top: 30rpx;
}

/*评价标题 */
.container .evaluate_contant .evaluate_item .evaluate_title {
 display: inline-block;
}

/*评价盒子 */
.container .evaluate_contant .evaluate_item .evaluate_box {
 position: absolute;
 left: 220rpx;
 width: 100%;
 display: inline-block;
}

/*星星评价的每个图片 */
.container .evaluate_contant .evaluate_item .evaluate_box .star-image {
 position: absolute;
 width: 40rpx;
 height: 40rpx;
 src: "../../images/no-star.png";
}

/*星星的左边和右边区域<点击左边半个星星,点击右边整个星星> */
.container .evaluate_contant .evaluate_item .evaluate_box .star-image .item {
 position: absolute;
 top: 0rpx;
 width: 20rpx;
 height: 40rpx;
}

/*按钮 */
.container .evaluate_contant .submit_button {
 height: 60rpx;
 font-size: 30rpx;
 line-height: 60rpx;
 margin: 20rpx;
}

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

Javascript 相关文章推荐
Javascript代码混淆综合解决方案-Javascript在线混淆器
Dec 18 Javascript
jQuery 版元素拖拽原型代码
Apr 25 Javascript
用js模拟struts2的多action调用示例
May 19 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
Sep 29 Javascript
HTML,CSS,JavaScript速查表推荐
Dec 02 Javascript
Javascript实现计算个人所得税
May 10 Javascript
jquery分割字符串的方法
Jun 24 Javascript
canvas实现流星雨的背景效果
Jan 13 Javascript
JS身份证信息验证正则表达式
Jun 12 Javascript
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
vue如何根据网站路由判断页面主题色详解
Nov 02 Javascript
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
Nov 02 #Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 #Javascript
Vue利用History记录上一页面的数据方法实例
Nov 02 #Javascript
vue如何根据网站路由判断页面主题色详解
Nov 02 #Javascript
小程序实现列表点赞功能
Nov 02 #Javascript
Vue中的vue-resource示例详解
Nov 02 #Javascript
微信小程序实现列表页的点赞和取消点赞功能
Nov 02 #Javascript
You might like
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
TBCompressor js代码压缩
2011/01/05 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
2017/01/21 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
python实现在无须过多援引的情况下创建字典的方法
2014/09/25 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
PyQt5实现下载进度条效果
2018/04/19 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
设立有限责任公司出资协议书
2014/11/01 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
检讨书范文
2019/04/16 职场文书
Python中tqdm的使用和例子
2022/09/23 Python