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


Posted in Javascript onNovember 01, 2020

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

思路很简单,小星星都是一张张独立的图片,点击的时候改变图片的路径就可以了。
我是用背景图片做的,先给盒子设置背景图片为灰色的小星星,盒子是根据js文件中的stars数组循环出来的,根据flag的值确定是灰色的小星星还是黄色的小星星,点击的时候获取当下这个盒子的index值,然后去更改stars数组中索引值小于等于index的每一项的flag就可以了。
当然,也可以用类名来控制灰色和黄色的小星星,在点击的时候操作类名也是可以实现的。

实现代码如下:

*.wxml文件
<view class="container">
 <view class='stars'>
 <image src=''></image>
 <view class='content'>
 <view>评分</view>
 <view>
 <view wx:for="{{stars}}" wx:key="" style='background:url("{{item.flag==1?item.bgImg:item.bgfImg}}") no-repeat top; background-size:100%;' data-index="{{index}}" bindtap='score'></view>
 </view>
 </view>
 </view>
 <view class='reviews'>
 <textarea placeholder='请写下购买体会或商品的相关信息,可以拉其他小伙伴提供参考~(评价在100字以内)'></textarea>
 </view>
</view>
*.wxss文件
.stars{
 padding:85rpx 0 60rpx 273rpx;
 box-sizing: border-box;
 position: relative;
 border-bottom: 1rpx solid #ececec;
 background-color: #fff;
}
.stars image{
 width: 190rpx;
 height: 190rpx;
 border: 1rpx solid #000;
 position: absolute;
 top: 41rpx;
 left: 36rpx;
}
.stars .content view{
 font-size: 32rpx;
 color: #4a4a4a;
}
.stars .content>view:last-of-type{
 height: 40rpx;
 margin-top: 48rpx;
}
.stars .content>view:last-of-type view{
 float: left;
 width: 42rpx;
 height: 42rpx;
 margin-right: 25rpx;
 background-size: 100% 100%;
}
*.js文件
 data: {
 stars:[
 {
 flag:1,
 bgImg: "/star.png",
 bgfImg:"/f_star.png"
 },
 {
 flag: 1,
 bgImg: "/star.png",
 bgfImg: "/f_star.png"
 },
 {
 flag: 1,
 bgImg: "/star.png",
 bgfImg: "/f_star.png"
 },
 {
 flag: 1,
 bgImg: "/star.png",
 bgfImg: "/f_star.png"
 },
 {
 flag: 1,
 bgImg: "/star.png",
 bgfImg: "/f_star.png"
 }
 ]
 },
 score:function(e){
 var that=this;
 for(var i=0;i<that.data.stars.length;i++){
 var allItem = 'stars['+i+'].flag';
 that.setData({
 [allItem]: 1
 })
 }
 var index=e.currentTarget.dataset.index;
 for(var i=0;i<=index;i++){
 var item = 'stars['+i+'].flag';
 that.setData({
 [item]:2
 })
 }
 },

代码分析:

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

效果图:

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

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

Javascript 相关文章推荐
写js时遇到的一些小问题
Dec 06 Javascript
JS上传前预览图片实例
Mar 25 Javascript
Js为表单动态添加节点内容的方法
Feb 10 Javascript
jQuery实现选项卡切换效果简单演示
Dec 09 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
Vue-Router实现页面正在加载特效方法示例
Feb 12 Javascript
详解http访问解析流程原理
Oct 18 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
浅谈JS和jQuery的区别
Mar 27 jQuery
微信小程序实现的绘制table表格功能示例
Apr 26 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
Sep 23 Javascript
Express 配置HTML页面访问的实现
Nov 01 #Javascript
ant design vue 表格table 默认勾选几项的操作
Oct 31 #Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
Oct 31 #Javascript
Ant design vue中的联动选择取消操作
Oct 31 #Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
Oct 31 #Javascript
vue中可编辑树状表格的实现代码
Oct 31 #Javascript
Ant Design Pro 之 ProTable使用操作
Oct 31 #Javascript
You might like
第1次亲密接触PHP5(1)
2006/10/09 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
python中property和setter装饰器用法
2019/12/19 Python
python带参数打包exe及调用方式
2019/12/21 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
计算机专业应届毕业生自荐信
2013/09/26 职场文书
资产经营总监岗位职责
2013/12/04 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
小学教师读书活动总结
2014/07/08 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
优秀员工事迹材料
2014/12/20 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
分享python函数常见关键字
2022/04/26 Python