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


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 相关文章推荐
js window.open弹出新的网页窗口
Jan 16 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
谈谈target=_new和_blank的不同之处
Oct 25 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
JS排序之快速排序详解
Apr 08 Javascript
node.js中debug模块的简单介绍与使用
Apr 25 Javascript
详解vue-cli + webpack 多页面实例应用
Apr 25 Javascript
vue实现自定义H5视频播放器的方法步骤
Jul 01 Javascript
p5.js实现动态图形临摹
Oct 23 Javascript
vue实现商城秒杀倒计时功能
Dec 12 Javascript
原生JS实现贪吃蛇小游戏
Mar 09 Javascript
AJAX XMLHttpRequest对象创建使用详解
Aug 20 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
咖啡知识大全
2021/03/03 新手入门
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
提高PHP性能的编码技巧以及性能优化详细解析
2013/08/24 PHP
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
PHP 类与构造函数解析
2017/02/06 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
获取JavaScript用户自定义类的类名称的代码
2007/03/08 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
vue项目中api接口管理总结
2018/04/20 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
Python中的True,False条件判断实例分析
2015/01/12 Python
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
泰国第一在线超市:Tops
2021/02/13 全球购物
个人生活学习自我评价范文
2013/11/26 职场文书
劳资专员岗位职责
2013/12/27 职场文书
马云的职业生涯规划之路
2014/01/01 职场文书
2016新年慰问信范文
2015/03/25 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS