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


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 相关文章推荐
让textarea控件的滚动条怎是位与最下方
Apr 20 Javascript
一个可以随意添加多个序列的tag函数
Jul 21 Javascript
一个网马的tips实现分析
Nov 28 Javascript
jQuery中click事件用法实例
Dec 26 Javascript
学习JavaScript设计模式(单例模式)
Nov 26 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
ajax接收后台数据在html页面显示
Feb 19 Javascript
js下拉菜单生成器dropMenu使用方法详解
Aug 01 Javascript
微信小程序页面滑动屏幕加载数据效果
Nov 16 Javascript
Vue拖拽组件开发实例详解
May 11 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
Oct 29 Javascript
Vue分页效果与购物车功能
Dec 13 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
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
jquery中动态效果小结
2010/12/16 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
Python中字符编码简介、方法及使用建议
2015/01/08 Python
python函数形参用法实例分析
2015/08/04 Python
Python 编程速成(推荐)
2019/04/15 Python
python gdal安装与简单使用
2019/08/01 Python
Python正则表达式如何匹配中文
2020/05/27 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
学生就业推荐信
2013/11/13 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
2014年食堂工作总结
2014/11/20 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python
python爬取新闻门户网站的示例
2021/04/25 Python