微信小程序js 抽奖概率(小程序实现筛子抽奖)
类别:编程学习 浏览量:2366
时间:2022-01-23 02:35:02 微信小程序js 抽奖概率
小程序实现筛子抽奖本文实例为大家分享了小程序实现筛子抽奖的具体代码,供大家参考,具体内容如下
效果图
<!--pages/shaizi/index.wxml--> <view class="container"> <view class="shaizi_box {{activeTrue}}" style="transform: rotateX({{rotateX}}deg) rotateY({{rotateY}}deg) rotateZ({{rotateZ}}deg);"> <view class="shaizi">1</view> <view class="shaizi">2</view> <view class="shaizi">3</view> <view class="shaizi">4</view> <view class="shaizi">5</view> <view class="shaizi">6</view> </view> <text class="view"></text> <button bindtap="gamePlay">PLAY</button> </view>
// pages/shaizi/index.js var dingshiqi1 = 0; var dingshiqi2 = 0; var dingshiqi3 = 0; Page({ /** * 页面的初始数据 */ data: { activeTrue:"active1", rotateX:0, rotateY:0, rotateZ:0, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, gamePlay:function(){ let _that = this; this.setData({ activeTrue:"active2", rotateX:0, rotateY:0, rotateZ:0, }) clearInterval(dingshiqi3) let _posible = [ { value: 1, x: 0, y: 0 }, { value: 6, x: 180, y: 0 }, { value: 3, x: 0, y: -90 }, { value: 4, x: 0, y: 90 }, { value: 5, x: -90, y: 0 }, { value: 2, x: 90, y: 0 }, ] // 准备抽取的随机数 let _random = Math.floor(Math.random() * 6); dingshiqi1 = setTimeout(() => { _that.setData({ rotateX:360, rotateY:250, rotateZ:0, }) }, 0); dingshiqi2 = setTimeout(() => { _that.setData({ rotateX:_posible[_random].x, rotateY:_posible[_random].y, }) dingshiqi3 = setTimeout(() => { _that.setData({ activeTrue:"active1", }) }, 4500); }, 800); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } }) /* pages/shaizi/index.wxss */ @keyframes rotate { to { transform: rotateX(360deg) rotateY(250deg); } } @keyframes shaiziCss{ 20%{ transform: rotateX(20deg); } 60%{ transform: rotateX(20deg) rotateY(200deg); } 100%{ transform: rotateX(100deg) rotateY(1000deg) rotateZ(-100deg); } } .shaizi_box { width: 200rpx; height: 200rpx; margin: 200rpx auto; position: relative; transform-style: preserve-3d; animation-duration: 3s; animation-timing-function: linear; transition: all 1s; } .shaizi_box.active1{ animation: rotate 5s linear 0s infinite alternate !important; } .shaizi_box.active2{ animation: shaiziCss 2s !important; } .shaizi_box .shaizi { width: 200rpx; height: 200rpx; display: flex; position: absolute; left: 0; top: 0; border: 1px solid #000; background: rgb(253, 250, 250); border-radius: 20rpx; font-size: 100rpx; color: red; text-align: center; } .shaizi:nth-child(1) { justify-content: center; align-items: center; transform: translateZ(100rpx); } .shaizi:nth-child(2) { justify-content: space-around; align-items: center; transform: rotateX(-90deg) translateZ(100rpx); } .shaizi:nth-child(3) { justify-content: space-around; align-items: center; flex-wrap: wrap; transform: rotateY(90deg) translateZ(100rpx); } .shaizi:nth-child(4) { flex-wrap: wrap; justify-content: center; align-items: center; transform: rotateY(-90deg) translateZ(100rpx); } .shaizi:nth-child(5) { flex-wrap: wrap; justify-content: center; align-items: center; transform: rotateX(90deg) translateZ(100rpx); } .shaizi:nth-child(6) { flex-wrap: wrap; justify-content: center; align-items: center; transform: rotateX(-180deg) translateZ(100rpx); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- 微信小程序canvas 动画(微信小程序使用canvas绘制钟表)
- 小程序数字化怎么布局(用position:sticky完美解决小程序吸顶问题的实现方法)
- 能自动点赞的小程序(python实现QQ空间自动点赞功能)
- 微信小程序中的代码怎么编辑(微信小程序新手入门之自定义组件的使用)
- 微信小程序抽签如何抽中(JavaScript实现班级抽签小程序)
- php关注公众号发送消息(php实现QQ小程序发送模板消息功能)
- 微信小程序日期选择器有星期天(微信小程序 滚动选择器时间日期详解及实例代码)
- 小程序ui设计样式(AmazeUI 平滑滚动效果的示例代码)
- 微信小程序双人游戏横屏(微信小程序实现拼图游戏)
- 微信小程序图片加特效(微信小程序实现可实时改变转速的css3旋转动画实例代码)
- 微信小程序function怎么使用(微信小程序在{{ }}中直接使用函数的方法示例)
- 微信小程序静态页面详情(微信小程序基础教程之echart的使用)
- 微信小程序如何请求服务器数据(微信小程序学习笔记之页面配置与路由方式)
- 微信小程序开发完整操作流程(微信小程序开发之组件设计规范)
- 微信小程序开发简单计算器(小程序实现计算器功能)
- 微信小程序多人编辑表格(微信小程序实现固定表头、列表格组件)
- 历史惊人的相似,美国80万加仑牛奶倒入下水道,意味着什么(历史惊人的相似)
- 美国数十万加仑牛奶倒进下水道,世界会重演1929年的大萧条吗(美国数十万加仑牛奶倒进下水道)
- 美国数十万加仑牛奶倒入下水道,贫民区食不果腹,历史再次重演(美国数十万加仑牛奶倒入下水道)
- 美国倒掉数十万加仑牛奶 上热搜第一,这一幕似曾相识(美国倒掉数十万加仑牛奶)
- 深度 倒牛奶 这一幕为何又在美国上演(深度倒牛奶)
- 美国数十万加仑牛奶倒下水道怎么回事 原因曝光令人心痛(美国数十万加仑牛奶倒下水道怎么回事)
热门推荐
- python 游戏开发实例(python实现诗歌游戏类继承)
- html5 meta标签
- laravel关联模型新增数据(使用laravel的migrate创建数据表的方法)
- 阿里云域名解析地址写什么(阿里云 Linux 服务器内部无法解析域名问题解决方法)
- xm文档使用教程(xmapp环境搭建注意事项说明)
- typedef和var有什么不同(TypeScrip中泛型的案例详解)
- php生成安全随机数(PHP随机数函数rand与mt_rand的讲解)
- webui控件在前端开发中的作用(HTML5 weui使用笔记)
- 阿里云盘挂载云服务器(阿里云主机的安装硬盘挂载数据盘加载或修改/www)
- php提交表单验证表(php实现的表单验证类完整示例)