Rumah applet WeChat Pembangunan program mini 多宫格抽奖活动的实现

多宫格抽奖活动的实现

Dec 07, 2017 pm 03:31 PM
capai loteri Aktiviti

现在微信小程序越来越火,我们也在持续不断的为大家带来微信小程序相关教程分享,本文我们继续为大家分享微信小程序实现多宫格抽奖功能。

首先看效果:

思路是先让其转动2圈多,然后再进行抽奖,格子运动用的是setTimeout,让其运行的时间间隔不一样,然后产生运动快慢的效果

好了,上代码

首先是WXML(这里面的判断可能有些绕,仔细按顺序看,因其第五个和第十一个格子在不同手机屏幕大小上的显示有问题,所以再次给它们判断了一下)


<view class="box">
 <view class="boxsub {{luckynum==index?&#39;luck&#39;:&#39;&#39;}}" wx:for=&#39;{{box}}&#39; style="{{index>0&&index<4?&#39;top:0;left:&#39;+index*140+&#39;rpx;&#39;:(index>3&&index<8?&#39;right:0;
 top:&#39;+((index-4)*100)+&#39;rpx;&#39;:(index>7&&index<12?&#39;bottom:0;right:&#39;+(index-7)*140+&#39;rpx;&#39;:(index>11&&index<14?&#39;left:0;bottom:&#39;+(index-11)*100+&#39;rpx;&#39;:&#39;&#39;)))}} 
 {{index==&#39;4&#39;?&#39;top:0;&#39;:&#39;&#39;}} {{index==&#39;11&#39;?&#39;left:0;&#39;:&#39;&#39;}} " wx:key=&#39;&#39;>
   <text class=&#39;boxcontent&#39; style=&#39;{{item.name.length>6?"line-height:40rpx;margin-top:10rpx;":"line-height:100rpx;"}}&#39;>{{item.name}}</text> 
  
 </view>
 <view class="lucky" catchtap="luckyTap">
  <text class="taplucky">点击抽奖</text>
  <text class="howMany">您还有<text class="howMany_num" >{{howManyNum}}</text>次抽奖机会</text>
 </view>
</view>
<view class="explain">

</view>
Salin selepas log masuk


WXSS:


.box{
 margin:20rpx 25rpx;
 height: 400rpx;
 width: 698rpx;
 /*border:1px solid #ddd;*/
 position: relative;
 /*box-sizing: border-box;*/
}
.boxsub{
 width: 140rpx;
 height: 100rpx;
 /*border: 1px solid #f00;*/
 box-sizing: border-box;
 position: absolute;
 background: #ff6100;
 border: 1rpx solid #fff;
 
}
.boxcontent{
 text-align: center;
 font-size: 26rpx;
 display: block;
 color: #fff;
}
.lucky{
 width: 300rpx;
 height:130rpx;
 background:#ff6100;/* #ff6100;007FFF*/
 position: absolute;
 left: 0;
 bottom: 0;
 right: 0;
 top: 0rpx;
 margin: auto;
}

.lucky:active{
 opacity: 0.7;
}
.taplucky{
 display: block;
 text-align: center;
 font-size: 30rpx;
 line-height: 50rpx;
 height: 50rpx;
 color: #fff;
 margin-top: 20rpx;
}
.howMany{
 display: block;
 text-align: center;
 font-size: 26rpx;
 color: #fff;
 line-height: 40rpx;
 height: 40rpx;
}
.howMany_num{
 color:#007FFF;
 font-size:32rpx;
 line-height:40rpx;
 padding:0 10rpx;
}
.luck{
 opacity: 0.5;
 background: #ff6100;
}
Salin selepas log masuk


JS


var time = null;//setTimeout的ID,用clearTimeout清除
Page({
 data: {
 box: [{
  name:&#39;100积分&#39;
 }, {
  name: &#39;10元优惠券\n满100可用&#39;
 }, {
  name: &#39;60积分&#39;
 }, {
  name: &#39;30积分&#39;
 }, {
  name: &#39;50积分&#39;
 }, {
  name: &#39;30元优惠券\n满120可用&#39;
 }, {
  name: &#39;100积分&#39;
 }, {
  name: &#39;200积分&#39;
 }, {
  name: &#39;10积分&#39;
 }, {
  name: &#39;50积分&#39;
 }, {
  name: &#39;40积分&#39;
 }, {
  name: &#39;50优惠券满500可用&#39;
 }, {
  name: &#39;60积分&#39;
 }, {
  name: &#39;70积分&#39;
 }],
 luckynum:0,//当前运动到的位置,在界面渲染
 howManyNum:10,//抽奖的剩余次数
 content:{
  index: 0, //当前转动到哪个位置,起点位置
  count: 0, //总共有多少个位置
  speed: 50, //初始转动速度
  cycle: 3*14, //转动基本次数:即至少需要转动多少次再进入抽奖环节,这里设置的是转动三次后进入抽奖环节
 },
 prize:0,//中奖的位置
 luckytapif:true//判断现在是否可以点击
 },
 //点击抽奖
 luckyTap:function(){
 var i=0,
  that=this,
  howManyNum = this.data.howManyNum,//剩余的抽奖次数
  luckytapif = this.data.luckytapif,//获取现在处于的状态
  luckynum = this.data.luckynum,//当前所在的格子
  prize =Math.floor(Math.random()*14) ;//中奖序号,随机生成
 if (luckytapif && howManyNum>0){//当没有处于抽奖状态且剩余的抽奖次数大于零,则可以进行抽奖
  console.log(&#39;prize:&#39;+prize);
  this.data.content.count=this.data.box.length;
  this.setData({
  howManyNum:howManyNum-1//更新抽奖次数
  });
  this.data.luckytapif=false;//设置为抽奖状态
  this.data.prize = prize;//中奖的序号
  this.roll();//运行抽奖函数
 } else if (howManyNum == 0 && luckytapif){
  wx.showModal({
  title: &#39;&#39;,
  content: &#39;您的抽奖次数已经没有了&#39;,
  showCancel:false
  })
 }
 },
//抽奖
 roll:function(){
 var content=this.data.content,
  prize = this.data.prize,//中奖序号
  that=this;
 if (content.cycle - (content.count-prize)>0){//最后一轮的时间进行抽奖
  content.index++;
  content.cycle--;
  this.setData({
  luckynum: content.index%14 //当前应该反映在界面上的位置
  });
  setTimeout(this.roll, content.speed);//继续运行抽奖函数
 }else{
  if (content.index < (content.count*3 + prize)){//判断是否停止

  content.index++; 
  content.speed += (550 /14);//最后一轮的速度,匀加速,最后停下时的速度为550+50
  this.data.content=content;
  this.setData({
   luckynum: content.index % 14
  });
  console.log(content.index, content.speed);//打印当前的步数和当前的速度
  setTimeout(this.roll,content.speed);
  }else{
  //完成抽奖,初始化数据
  console.log(&#39;完成&#39;);
  content.index =0;
  content.cycle = 3 * 14;
  content.speed = 50;
  this.data.luckytapif = true;
  clearTimeout(time);
  wx.showModal({
   title: &#39;&#39;,
   content: &#39;恭喜你抽到了&#39;+that.data.box[prize].name,
   showCancel:false
  })
  }
 }
 },
 onLoad: function (options) {
 
 },
 onReady: function () {
 
 },
 onShow: function () {
 
 },
 onHide: function () {
 
 },
 onUnload: function () {
 
 }
})
Salin selepas log masuk

相关推荐:

微信小程序如何实现图片放大预览功能

微信小程序-仿盒马鲜生

最全的微信小程序项目实例

Atas ialah kandungan terperinci 多宫格抽奖活动的实现. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Mar 24, 2024 am 11:27 AM

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Dengan kebangkitan media sosial, WeChat telah menjadi salah satu alat komunikasi yang sangat diperlukan dalam kehidupan seharian orang ramai. Walau bagaimanapun, ramai orang mungkin menghadapi masalah: log masuk ke beberapa akaun WeChat pada masa yang sama pada telefon mudah alih yang sama. Bagi pengguna telefon mudah alih Huawei, tidak sukar untuk mencapai log masuk WeChat dwi Artikel ini akan memperkenalkan cara mencapai log masuk WeChat dwi pada telefon mudah alih Huawei. Pertama sekali, sistem EMUI yang disertakan dengan telefon mudah alih Huawei menyediakan fungsi yang sangat mudah - pembukaan dua aplikasi. Melalui fungsi pembukaan dwi aplikasi, pengguna boleh serentak

Panduan lengkap untuk aktiviti 'Glory of Kings' Panduan lengkap untuk aktiviti 'Glory of Kings' Mar 24, 2024 pm 12:36 PM

King of Glory telah melancarkan acara Let's Go Together to Flower Season Pemain yang mengambil bahagian dalam acara itu boleh menerima bingkai avatar dan banyak hadiah secara percuma Acara ini mempunyai had masa dan menyediakan pemain dengan jumlah empat tahap membawakan anda panduan untuk acara Let's Go to Flower Season, saya harap ia dapat membantu semua orang menyelesaikan cabaran tahap. Raja Kemuliaan, Pergi ke Musim Berbunga bersama panduan Raja Kemuliaan, Pergi ke Musim Berbunga bersama-sama Pengenalan kepada permainan aktiviti: 1. Pergi ke Musim Berbunga bersama-sama ialah aktiviti menukar kad, dan pemain perlu bertukar. atas kad untuk melepasi tahap. 2. Pemain boleh menukar kad dengan menyelesaikan tugasan dan mendapatkan embun bunga semasa acara. 3. Setiap empat kad pelepasan dalam panel aktiviti disambungkan ke dalam satu garisan (termasuk garisan mendatar, garisan menegak dan garisan pepenjuru) untuk melepasi tahap kecil. 4. Setiap kali anda mengosongkan tahap, anda boleh mendapat ganjaran yang sepadan dan anda juga boleh mendapatkan ganjaran tambahan dengan membantu rakan anda menyerahkan kad. hidup

Acara tema hari jadi Love and Deep Space Qi Yu akan bermula: alami plot sambutan hari jadi eksklusif Acara tema hari jadi Love and Deep Space Qi Yu akan bermula: alami plot sambutan hari jadi eksklusif Feb 29, 2024 pm 03:00 PM

Love and Deep Space telah disahkan akan dikemas kini pada 1 Mac untuk melancarkan acara tema hari jadi Qi Yu kupon harapan ruang dan ganjaran lain yang menanti anda Teruskan Turun dan ikuti editor untuk melihat butiran acara ini. Acara tema hari jadi Qi Yu iaitu Love and Deep Space akan bermula: alami plot hari jadi eksklusif Sertai acara itu dan alami plot hari jadi eksklusif. Terdapat juga ganjaran berwarna-warni seperti pemikiran terhad hari lahir, pakaian harian dan "Deep Space Wishing Baucar·Masa Terhad*20" menanti anda! Masa acara: Selepas kemas kini pada 1 Mac ~ 4:59 pagi pada 8 Mac Pelukan Eksklusif: Hari jadi lima bintang terlepas masa terhad acara ucapan UP Semasa tempoh terhad lima bintang terlepas "Qi Yu·Adventures in this Life" kebarangkalian berharap sangat meningkat untuk masa yang terhad. *Selepas acara, gambar ini

Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci Mar 20, 2024 pm 04:54 PM

Bahasa pengaturcaraan PHP ialah alat yang berkuasa untuk pembangunan web, yang mampu menyokong pelbagai logik dan algoritma pengaturcaraan yang berbeza. Antaranya, melaksanakan jujukan Fibonacci adalah masalah pengaturcaraan biasa dan klasik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan jujukan Fibonacci, dan melampirkan contoh kod tertentu. Jujukan Fibonacci ialah jujukan matematik yang ditakrifkan seperti berikut: unsur pertama dan kedua bagi jujukan ialah 1, dan bermula dari unsur ketiga, nilai setiap unsur adalah sama dengan jumlah dua unsur sebelumnya. Beberapa elemen pertama urutan

Bagaimana untuk membuat applet loteri excel Bagaimana untuk membuat applet loteri excel Mar 20, 2024 am 11:40 AM

Dalam kerja harian, kita menghadapi banyak perkara yang memerlukan melukis lot Kaedah tradisional ialah melukis nombor secara rawak menggunakan nombor kertas Dengan perkembangan perisian elektronik, kita boleh menggunakan komputer untuk melukis lot hari ini ialah Bagaimana untuk membuat applet loteri excel. 1. Mula-mula, kita buka perisian Excel dan buka jadual yang kita sediakan Jadual mesti mengandungi nama kita. 2. Kemudian kita gabungkan sel di sebelah kanan, isi hitam siapa yang bertuah malam ini, dan gabungkan sel di bawah dan isikan merah, seperti yang ditunjukkan dalam rajah di bawah. 3. Kemudian kita masukkan fungsi randbetween di kawasan merah dan tetapkan baris pertama kepada 2 dan baris terakhir kepada 7, seperti yang ditunjukkan dalam rajah di bawah. 4. Lepas tu kita masuk ind depan

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Mar 24, 2024 pm 06:03 PM

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Dengan populariti perisian sosial dan penekanan yang semakin meningkat terhadap privasi dan keselamatan orang ramai, fungsi klon WeChat telah beransur-ansur menjadi tumpuan perhatian. Fungsi klon WeChat boleh membantu pengguna log masuk ke berbilang akaun WeChat pada telefon mudah alih yang sama pada masa yang sama, menjadikannya lebih mudah untuk diurus dan digunakan. Tidak sukar untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Anda hanya perlu mengikuti langkah berikut. Langkah 1: Pastikan versi sistem telefon mudah alih dan versi WeChat memenuhi keperluan Pertama, pastikan versi sistem telefon mudah alih Huawei anda telah dikemas kini kepada versi terkini, serta Apl WeChat.

Kembali ke Pantai Omaha! World of Tanks melancarkan acara peringatan Normandy Kembali ke Pantai Omaha! World of Tanks melancarkan acara peringatan Normandy May 31, 2024 pm 10:25 PM

Apabila pencerobohan D-Day menghampiri ulang tahunnya yang ke-80, satu bulan penuh acara World of Tanks dan istimewa akan tertumpu pada Operation Overlord - mod PvE baharu, pas pertempuran bertema, keluaran mod Barisan Hadapan baharu dan sebulan- lama Kedai token Operasi Normandy akan dibuka. PETA OPERASI Dari 3 Jun hingga 30 Jun, terokai pantai Normandy dan kumpulkan sehingga 90 Token Operasi Normandy: 36 daripada peta ini dan 54 lagi dengan menyelesaikan tugasan harian. Lihat peta interaktif dan lihat tarikh mula untuk setiap acara, kemudian mula dapatkan token sekarang atau buka kunci pencarian token khas. Gunakan peta untuk mengetahui lebih lanjut tentang aktiviti berkaitan Operasi Normandy Selepas memperoleh token Operasi Normandy yang mencukupi, anda boleh pergi ke peniaga token Operasi Normandy

Kuasai cara Golang mendayakan kemungkinan pembangunan permainan Kuasai cara Golang mendayakan kemungkinan pembangunan permainan Mar 16, 2024 pm 12:57 PM

Dalam bidang pembangunan perisian hari ini, Golang (bahasa Go), sebagai bahasa pengaturcaraan yang cekap, ringkas dan sangat bersesuaian, semakin digemari oleh pembangun. Perpustakaan standardnya yang kaya dan ciri-ciri konkurensi yang cekap menjadikannya pilihan berprofil tinggi dalam bidang pembangunan permainan. Artikel ini akan meneroka cara menggunakan Golang untuk pembangunan permainan dan menunjukkan kemungkinan besarnya melalui contoh kod tertentu. 1. Kelebihan Golang dalam pembangunan permainan Sebagai bahasa yang ditaip secara statik, Golang digunakan dalam membina sistem permainan berskala besar.

See all articles