This article example shares the specific code of the mini program to implement the sieve lottery for your reference. The specific content is as follows Rendering <!--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({ /** * Initial data of the page */ data: { activeTrue:"active1", rotateX:0, rotateY:0, rotateZ:0, }, /** * Life cycle function--listen for page loading*/ onLoad: function (options) { }, gamePlay:function(){ let _that = this; this.setData({ activeTrue:"active2", rotateX:0, rotateY:0, rotateZ:0, }) clearInterval(dingshiqi3) let _possible = [ { 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 }, ] // Prepare to draw a random number 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); }, /** * Life cycle function - listen for the completion of the initial rendering of the page*/ onReady: function () { }, /** * Life cycle function--monitor page display*/ onShow: function () { }, /** * Life cycle function--listen for page hiding*/ onHide: function () { }, /** * Life cycle function--monitor page uninstallation*/ onUnload: function () { }, /** * Page related event processing function - listen to user pull-down action */ onPullDownRefresh: function () { }, /** * The function that handles the bottoming event on the page*/ onReachBottom: function () { }, /** * User clicks on the upper right corner to share*/ 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); } The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: How to check the hard disk size and mount the hard disk in Linux
>>: MySQL data migration using MySQLdump command
Overview Today I will mainly share how to correct...
This article example shares the specific code for...
Table of contents 1. World Map 1. Install openlay...
Table of contents Preface && Operator || ...
This article uses the "Attribution 4.0 Inter...
1. Scenario description: My colleague taught me h...
In the previous article, we used Docker to build ...
Preface Recently, I found a pitfall in upgrading ...
Question 1: How do you instruct the browser to dis...
If the program service is deployed using k8s inte...
Effect picture: The implementation code is as fol...
This note is an installation tutorial. It has no ...
Installation The required documents are provided ...
HTML <div class="spinner"></di...
Table of contents Environmental Description Docke...