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


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 相关文章推荐
jquery中输入验证中一个不错的效果
Aug 21 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
Jun 28 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
Dec 19 Javascript
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
js实现右下角提示框的方法
Feb 03 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
Node.js Express 框架 POST方法详解
Jan 23 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
Mar 08 Javascript
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
HTML5+Canvas调用手机拍照功能实现图片上传(上)
Apr 21 Javascript
js字符串与Unicode编码互相转换
May 17 Javascript
vue下拉菜单组件(含搜索)的实现代码
Nov 25 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
单位速度在实战中的运用
2020/03/04 星际争霸
php学习之数据类型之间的转换代码
2011/05/29 PHP
PHP图片上传代码
2013/11/04 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
TensorFlow Session使用的两种方法小结
2018/07/30 Python
Django如何自定义分页
2018/09/25 Python
用xpath获取指定标签下的所有text的实例
2019/01/02 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
开办饭店创业计划书
2013/12/28 职场文书
综治宣传月活动总结
2014/04/28 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
vue实现拖拽交换位置
2022/04/07 Vue.js
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python