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


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 相关文章推荐
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
浅谈JavaScript之事件绑定
Jul 08 Javascript
javascript中apply和call方法的作用及区别说明
Feb 14 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
Apr 22 Javascript
JavaScript中使用arguments获得函数传参个数实例
Aug 27 Javascript
js中取得变量绝对值的方法
Jan 03 Javascript
简单的jQuery入门指引
Jul 28 Javascript
angular ngClick阻止冒泡使用默认行为的方法
Nov 03 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
Angular8路由守卫原理和使用方法
Aug 29 Javascript
深入理解 ES6中的 Reflect用法
Jul 18 Javascript
代码解析React中setState同步和异步问题
Jun 03 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
使用字符串函数输出整数化的PHP版本号
2006/10/09 PHP
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
值得收藏的vuejs安装教程
2017/11/21 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
详解webpack中的hash、chunkhash、contenthash区别
2018/01/05 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
Python实现数字的格式化输出
2020/08/01 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
财务助理岗位职责
2013/11/10 职场文书
《梅兰芳学艺》教学反思
2014/02/24 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
公司借条范本
2015/05/25 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
golang slice元素去重操作
2021/04/30 Golang