微信小程序实现翻牌抽奖动画


Posted in Javascript onSeptember 21, 2020

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

效果图如下所示

微信小程序实现翻牌抽奖动画

这里做的比较简陋,就花了一点时间实现了翻牌抽奖效果,提供思路

.wxml

<view class="button" bindtap="again">重新翻牌</view>
<view class="curin-index">
 <view bindtap="{{whether?'':'tamin'}}" wx:for="{{9}}" wx:key="index" data-index="{{index+1}}" class="currin {{really == index+1?'animt':''}} {{really != index+1 && surplus?'animt':''}} {{really == ''?'cinton'+(index+1):''}}" style="{{really == index+1 && implement > 1?'background-image: linear-gradient(45deg, #f43f3b, #ec008c);':''}}{{really != index+1 && surplus && implement > 2?'background-image: linear-gradient(45deg, #39b54a, #8dc63f);':''}}">
  {{really == index+1?flop:''}}{{really != index+1 && really != ''?biutin:''}}{{really == ''?'点击翻牌':''}}
 </view>
</view>

.wxss

view{
 box-sizing: border-box;
}
.button{
 width: 40%;
 height: 80rpx;
 line-height: 80rpx;
 background-color: #fadbd9;
 color: #e54d42;
 text-align: center;
 border-radius: 10rpx;
 margin: 30rpx 30%;
 float: left;
 position: relative;
}
.curin-index{
 width: 100%;
 float: left;
}
.currin{
 margin-left: 4%;
 margin-top: 50rpx;
 width: 28%;
 float: left;
 background-image: linear-gradient(45deg, #0081ff, #1cbbb4);
 color: #fff;
 text-align: center;
 height: 200rpx;
 line-height: 200rpx;
 border-radius: 10rpx;
 position: relative;
}
.currin::before {
 content: "";
 display: block;
 background: inherit;
 filter: blur(10rpx);
 position: absolute;
 width: 100%;
 height: 100%;
 top: 10rpx;
 left: 10rpx;
 z-index: -1;
 opacity: 0.4;
 transform-origin: 0 0;
 border-radius: inherit;
 transform: scale(1, 1);
}
.cinton1{
 animation: cinton1 alternate linear 2 1s;
}
@keyframes cinton1{
 from {
  top: 0;
  left: 0;
 }
 to {
  top: 230rpx;
  left: 230rpx;
 }
}
.cinton2{
 animation: cinton2 alternate linear 2 1s;
}
@keyframes cinton2{
 from {
  top: 0;
  left: 0;
 }
 to {
  top: 230rpx;
  left: 0rpx;
 }
}
.cinton3{
 animation: cinton3 alternate linear 2 1s;
}
@keyframes cinton3{
 from {
  top: 0;
  left: 0;
 }
 to {
  top: 230rpx;
  left: -230rpx;
 }
}
.cinton4{
 animation: cinton4 alternate linear 2 1s;
}
@keyframes cinton4{
 from {
  top: 0;
  left: 0;
 }
 to {
  top: 0rpx;
  left: 230rpx;
 }
}
.cinton6{
 animation: cinton6 alternate linear 2 1s;
}
@keyframes cinton6{
 from {
  top: 0;
  left: 0;
 }
 to {
  top: 0rpx;
  left: -230rpx;
 }
}
.cinton7{
 animation: cinton7 alternate linear 2 1s;
}
@keyframes cinton7{
 from {
  top: 0;
  left: 0;
 }
 to {
  top: -230rpx;
  left: 230rpx;
 }
}
.cinton8{
 animation: cinton8 alternate linear 2 1s;
}
@keyframes cinton8{
 from {
  top: 0;
  left: 0;
 }
 to {
  top: -230rpx;
  left: 0rpx;
 }
}
.cinton9{
 animation: cinton9 alternate linear 2 1s;
}
@keyframes cinton9{
 from {
  top: 0;
  left: 0;
 }
 to {
  top: -230rpx;
  left: -230rpx;
 }
}
.animt{
 animation: fanzhuan 1.2s;
}
@keyframes fanzhuan{
 0% {
  transform: perspective(150px) rotateY(0deg);
 } 
 50% {
  transform: perspective(150px) rotateY(0deg);
 } 
 100% {
  transform: perspective(150px) rotateY(179.9deg);
 }
}

.js

Page({
 data: {
  whether: false,
  flop:'点击翻牌',
  really:'',
  implement: 0,
  surplus:false,
  biutin:'点击翻牌',
 }, 
 again:function(e){
  if (this.data.implement == 3 || this.data.implement == 0){
   this.setData({
    whether: false,
    flop: '点击翻牌',
    really: '',
    implement: 0,
    surplus: false,
    biutin: '点击翻牌',
   })
  }else{
   wx.showToast({
    title: '正在执行抽奖中...',
    icon: 'none',
    duration: 2000
   })
   return false
  }
 },
 tamin:function(e){
  let that = this
  let index = e.currentTarget.dataset.index
  that.setData({
   whether:true,
   really: index,
   implement:1,
  })
  setTimeout(function () {
   that.setData({
    flop: '',
   })
  }, 500)
  setTimeout(function () {
   that.setData({
    flop:'有奖品',
    surplus:true,
    implement: 2,
   })
  }, 1200)
  setTimeout(function () {
   that.setData({
    biutin: '',
   })
  }, 1700)
  setTimeout(function () {
   that.setData({
    biutin: '没有奖品',
    implement:3,
   })
  }, 2500)
 }
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

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

Javascript 相关文章推荐
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
Aug 15 Javascript
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
jQuery 取值、赋值的基本方法整理
Mar 31 Javascript
关于JS中prototype的理解
Sep 07 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
Mar 05 Javascript
AngularJS过滤器详解及示例代码
Aug 16 Javascript
JS简单设置下拉选择框默认值的方法
Aug 20 Javascript
JS实现根据密码长度显示安全条功能
Mar 08 Javascript
详解Web使用webpack构建前端项目
Sep 23 Javascript
关于微信公众号开发无法支付的问题解决
Dec 28 Javascript
js控制随机数生成概率代码实例
Mar 21 Javascript
微信小程序可滑动月日历组件使用详解
Oct 21 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
Sep 21 #Javascript
微信小程序实现转盘抽奖
Sep 21 #Javascript
结合axios对项目中的api请求进行封装操作
Sep 21 #Javascript
微信小程序实现打卡签到页面
Sep 21 #Javascript
微信小程序实现签到弹窗动画
Sep 21 #Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
Sep 21 #Javascript
微信小程序实现日历签到
Sep 21 #Javascript
You might like
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
php中JSON的使用方法
2015/04/30 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
javascript结合canvas实现图片旋转效果
2015/05/03 Javascript
JavaScript检查数字是否为整数或浮点数的方法
2015/06/09 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
Python批量按比例缩小图片脚本分享
2015/05/21 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
实习护士自我鉴定
2013/10/13 职场文书
承办会议欢迎词
2014/01/17 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
敬老模范事迹
2014/05/21 职场文书
个人更名证明
2015/06/23 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL
Java版 单机五子棋
2022/05/04 Java/Android