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


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 相关文章推荐
jQuery asp.net 用json格式返回自定义对象
Apr 07 Javascript
jquery lazyload延迟加载技术的实现原理分析
Jan 24 Javascript
jQuery制作简单柱状图实例
Jan 28 Javascript
js正则表达式replace替换变量方法
May 21 Javascript
jQuery 获取页面li数组并删除不在数组中的key
Aug 02 Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 Javascript
全面解析Node.js 8 重要功能和修复
Jun 02 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
Oct 21 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
Jun 29 Javascript
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
ant design vue导航菜单与路由配置操作
Oct 28 Javascript
使用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 配置文件中open_basedir选项作用
2009/07/19 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
python之wxPython应用实例
2014/09/28 Python
使用tensorflow实现线性svm
2018/09/07 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
详解anaconda安装步骤
2020/11/23 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
思想品德自我评价
2014/02/04 职场文书
视光学毕业生自荐书范文
2014/02/13 职场文书
教师节活动主持词
2014/04/02 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
股权转让协议范本
2014/12/07 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android