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

代码实现

wxml文件

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<!--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文件

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

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

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

/*评价区域 */

.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;

}

后盾 Reactnative 开发系列视频课程         下载地址:百度网盘下载
移动WebAPP开发之实战美团外卖视频教程         下载地址:百度网盘下载
智能社HTML5+css3实战优酷开发视频教程 附带实例源码         下载地址:百度网盘下载
妙味移动端“淘宝造物节” 3D绚酷空间VR场景应用视频教程        下载地址:百度网盘下载
JQuery EasyUI入门视频教程         下载地址:百度网盘下载
尚硅谷h5前端开发视频         下载地址:百度网盘下载
React 服务器渲染原理解析与实践(同步更新)         下载地址:百度网盘下载
Vue技术栈开发实战视频教程        下载地址:百度网盘下载
ThinkPHP5+Apicoud+vue商城APP实战视频教程        下载地址:百度网盘下载
开课吧2018最新web全栈架构师课程        下载地址:百度网盘下载
爱前端视频课程全套 初级+中级+高级        下载地址:百度网盘下载
Vue基础+进阶+实战深入浅出开发宝典视频课程         下载地址:百度网盘下载
纯正商业级应用-微信小程序开发实战        下载地址:百度网盘下载
ReactNative技术精讲与高质量上线APP开发视频教程         下载地址:百度网盘下载
某课网 - Javascript 设计模式系统讲解与应用        下载地址:百度网盘下载
webapp开发网上书城系统 web移动端教程视频下载        下载地址:百度网盘下载
前端工程师JavaScript基础入门视频教程下载        下载地址:百度网盘下载
结合MUI框架完成HTML5移动端混合应用开发(微信实战)视频教程        下载地址:百度网盘下载
尚硅谷 HTML+CSS 核心基础教程(103集实战教学,从入门到精通)        下载地址:百度网盘下载

原文地址:https://www.cnblogs.com/zorasia/p/9961187.html

时间: 2024-10-08 07:40:06

微信小程序实现星星评价效果的相关文章

微信小程序实现css动画效果

最近在写微信小程序,然后之前网页也写过css动画实现,就记一下 1.依靠css的动画效果 第一种实现动画效果的方法就是靠纯css来实现 @keyframes animations{ 0% { ... } ... 100% { ... } } .animation{ /*animation: name duration timing-function delay iteration-count direction;*/ /*详情参见http://www.w3school.com.cn/cssref

使用movable-view制作可拖拽的微信小程序弹出层效果。

仿了潮汐睡眠小程序的代码.[如果有侵权联系删除 最近做的项目有个弹出层效果,类似音乐播放器那种.按照普通的做了一般感觉交互不是很优雅,设计妹子把潮汐睡眠的弹层给我看了看,感觉做的挺好,于是乘着有空仿照了一下. 首先善用度娘反编译弄到了源码,但是打不开.然后自己研究源码发现他们用的是movable-view实现的. 于是仿照着搭出了基础框架. 新建了个组件 wxml <!--components/playpanel/playpanel.wxml--> <movable-area style

微信小程序左右滚动公告栏效果

<view class='notice-wrap' hidden='{{hideNotice}}'> <view class='tongzhitext'> <text class="tongzhi-text">{{notice}}</text> </view> <view bindtap='switchNotice' class="closeView">x</view> </v

微信小程序学习指南

作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 微信小程序正式公测, 张小龙全面阐述小程序,定档1月9日上线(附90分钟演讲全文) ... 前言:新人第一坑,跳坑指南:修改后,必须保存:ctrl+S: 1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教

微信小程序源码下载(200多个)

微信小程序源码下载汇总,点击标题进入对应的微信小程序下载页面. 最新 demo源码(点击标题进入帖子下载) 描述 1 微信小程序 会议室预定小程序 微信小程序 会议室预定小程序**** 本内容被作者隐藏 **** 2 微信小程序-双人五子棋小游戏 微信小程序-双人五子棋小游戏**** 本内容被作者隐藏 **** 3 打卡签到小程序 用微信小程序实现的一个简单的打卡签到的小程序拒绝 4 微信小程序---左滑删除 微信小程序---左滑删除**** 本内容被作者隐藏 **** 5 一个借钱的记事本的微

用mpvue构建微信小程序

背景 由于机器人协会进行鼓励大家多读书的活动,所以为了可以更好的.更有效果,所以我跟会长提了一个建议,做一个微信小程序,那么为什么是微信小程序呢? 1.现在微信小程序比较好,用户也比较多:利用微信小程序做推广,效果好: 2.小程序的痛点在于不需要在手机里额外安装app,利用微信提供的入口,用时扫码,用后清除: 3.开发周期与开发难度小于原生app. 技术栈 采用前后端分离 1.Vue全家桶 2.mpvue 3.koa2+mysql 构建过程 1.安装工作 a)安装好node b)安装vue-cl

类似tabBar的切换页面效果(微信小程序)

微信小程序开发,我们经常遇到类似tabBar的页面切换效果:                  这种效果,微信小程序开发应该如何实现呢?项目源码: 页面切换-横向: 页面切换-竖向: 页面切换的需求是: 当点击任何一个标题时,选中标题的状态区别显示,页面切换到标题对应的页面:当滑动页面时,页面对应的标题呈现选中状态. 代码实现的逻辑是: 定义变量selectedTitle.标题的id.样式title-selected(当id和selectedTitle相等时).当点击任何一个标题时,将选中标题的

微信小程序的动画效果

前言 由于公司计划有变,所以从H5页面改成去小程序写.所以在着手开发小程序.本人也不是什么前端高手,只是一名写后端偶尔写写前端的渣渣.请前端大神们勿喷. 一.什么是微信小程序? 小程序在我的理解中只是高度封装的H5,封装了各种组件.根据官方的说法小程序运行不是在浏览器当中.姑且算是微信的插件吧. 二.小程序不能操纵DOM 小程序不能直接操纵DOM,鼓励的是数据绑定.例如vue.js这种.所以个人而言感觉跟如果习惯了用JQ去操纵DOM的开发者很不习惯.需要一个习惯的过程. 三.小程序不能引用JQ

微信小程序【获取验证码】倒计时效果

最近开始接触微信小程序,会记录一些相关的小功能--例如这次是点击[获取验证码]按钮出现的倒计时效果. 原文: http://blog.csdn.net/Wu_shuxuan/article/details/78539075  感谢 .wxml <button class="buttonget" disabled='{{disabled}}' data-id="2" bindtap="getVerificationCode"> {{ti