微信小程序> 微信小程序九宫格抽奖

微信小程序九宫格抽奖

浏览量:585 时间: 来源:梅米儿

小程序

js

Page({  data: {    last_index: 0,//上一回滚动的位置    amplification_index: 0,//轮盘的当前滚动位置    roll_flag: true,//是否允许滚动    max_number: 8,//轮盘的全部数量    speed: 300,//速度,速度值越大,则越慢 初始化为300    finalindex: 5,//最终的奖励距离当前的位置!不是最后的几等奖!    myInterval: "",//定时器    max_speed: 40,//滚盘的最大速度    minturns: 8,//最小的圈数为2    runs_now: 0,//当前已跑步数    luck_num: 3, //获得的奖项的位置    end_amp:0, //上一次滚动的位置    start_flag:true,    lucks: ['积分+5', '谢谢参与', '积分+10', '谢谢参与', '50元卡券', '100元卡券', '谢谢参与', '积分+20'],  }, //开始滚动  startrolling: function () {    let _this = this;    if (this.data.start_flag==true){      _this.setData({        start_flag: false      })     //初始化步数       _this.data.runs_now = 0;       //当前可以点击的状态下       if (_this.data.roll_flag) {         _this.data.roll_flag = false;         //启动滚盘,         _this.rolling();       }      }  },//滚动轮盘的动画效果  rolling: function (amplification_index) {    var _this = this;    this.data.myInterval = setTimeout(function () { _this.rolling(); }, this.data.speed);    this.data.runs_now++;//已经跑步数加一    this.data.amplification_index++;//当前的加一    //获取总步数,接口延迟问题,所以最后还是设置成1s以上    // var count_num = this.data.minturns * this.data.max_number + this.data.finalindex - this.data.last_index;    var count_num = this.data.minturns * this.data.max_number + this.data.luck_num - this.data.end_amp;    //上升期间    if (this.data.runs_now <= (count_num / 3) * 2) {      this.data.speed -= 30;//加速      if (this.data.speed <= this.data.max_speed) {        this.data.speed = this.data.max_speed;//最高速度为40;      }    }    //抽奖结束    else if (this.data.runs_now >= count_num) {      clearInterval(this.data.myInterval);      this.data.roll_flag = true;     this.setData({       end_amp: _this.data.amplification_index,       start_flag: true     })      if (_this.data.is_selected==0){        wx.showModal({          title: '很遗憾',          content: _this.data.prize_name,          showCancel: false,          success(res) {                   }        })      } else if (_this.data.is_selected == 1){        wx.showModal({          title: '恭喜您',          content: _this.data.prize_name,          showCancel: false,          success(res) {                  }        })      }    }    //下降期间    else if (count_num - this.data.runs_now <= 10) {      this.data.speed += 20;    }    //缓冲区间    else {      this.data.speed += 10;      if (this.data.speed >= 100) {        this.data.speed = 100;//最低速度为100;      }    }    if (this.data.amplification_index > this.data.max_number) {//判定!是否大于最大数      this.data.amplification_index = 1;    }    this.setData(this.data);  },})

wxml

<view class="luck_box">      <image src="../../static/images/images/29luck_07.png"></image>      <view class="luck">       <!--左上-->      <view id="li" class='{{amplification_index===7?"indexli":""}}' >            <view class="setup_title" >谢谢参与</view>            <view class="indexli_view"></view>        </view>        <!--上-->       <view id="li" class='{{amplification_index===7?"indexli":""}}' >            <view class="setup_title" >谢谢参与</view>            <view class="indexli_view"></view>        </view>        <!--右上-->       <view id="li" class='{{amplification_index===7?"indexli":""}}' >            <view class="setup_title" >谢谢参与</view>            <view class="indexli_view"></view>        </view>        <!--左-->        <view id="li" class='{{amplification_index===7?"indexli":""}}' >            <view class="setup_title" >谢谢参与</view>            <view class="indexli_view"></view>        </view>        <!--开始-->        <view bindtap="startrolling" class="startrolling" >           <text>立即</text>           <text class="st1">抽奖</text>                   </view>        <!--右-->     <view id="li" class='{{amplification_index===7?"indexli":""}}' >            <view class="setup_title" >谢谢参与</view>            <view class="indexli_view"></view>        </view>        <!--左下-->        <view id="li" class='{{amplification_index===7?"indexli":""}}' >            <view class="setup_title" >谢谢参与</view>            <view class="indexli_view"></view>        </view>        <!--下-->  <view id="li" class='{{amplification_index===7?"indexli":""}}' >            <view class="setup_title" >谢谢参与</view>            <view class="indexli_view"></view>        </view>        <!--右下-->        <view id="li" class='{{amplification_index===7?"indexli":""}}' >            <view class="setup_title" >谢谢参与</view>            <view class="indexli_view"></view>        </view>        <p id="pp"></p>        </view>  </view>

wxss

.luck_box{  width:586rpx;  height:582rpx;  margin:auto;  /* margin-top:38rpx; */  border-radius: 10rpx;  overflow: hidden;  box-shadow: 0rpx 5rpx 20rpx #c73c34;  position: absolute;  left:0;right:0;top:8vh;}.luck_box>image{  display: block;  width:100%;  height:100%;}.luck_box>.luck{  width:550rpx;  height:550rpx;  position: absolute;  top:0;  left:0;  bottom:0;  right:0;  margin:auto;} .luck_box>.luck #li{  background: #fff;  margin-left:16rpx;  margin-top:16rpx;  width: 162rpx;  height:162rpx;  box-sizing: border-box;  display: block;  float: left;  text-align: center;  line-height: 162rpx;  position: relative;  border-radius: 10rpx;    font-size: 28rpx;    color: #d04011;}.luck_box>.luck #li>.setup_title{   width: 162rpx;  height:162rpx;  text-align: center;  line-height: 162rpx;  border-radius: 10rpx;    font-size: 28rpx;    color: #d04011;    position: absolute;    top:0;left:0;right:0;bottom:0;margin:auto;}.luck_box>.luck #li>.setup_img{ display: block;  width: 162rpx;  height:162rpx;  margin:auto;    border-radius: 10rpx;}.startrolling{  background: #fff;  margin-left:16rpx;  margin-top:16rpx;  width: 142rpx;  height:142rpx;  display: block;  float: left;  text-align: center;  line-height: 142rpx;  position: relative;  border-radius: 10rpx;    font-size: 26rpx;    color: #fff;    background: #fc4e40;    border:10rpx solid #fc7366;}.startrolling>text{  display: block;  width:100%;  height:38rpx;  text-align: center;  line-height:38rpx;  margin-top:30rpx;  font-size: 36rpx;  letter-spacing:6rpx;}.startrolling>.st1{  margin-top:6rpx;} #pp {  line-height: 32px;  color: #9a9a9a;  text-align: center;}  .indexli .indexli_view {  position: absolute;  width: 152rpx;  height: 152rpx;  background: rgba(255,255,255,0);  left: -5rpx;  top: -5rpx;  border:10rpx solid #fbaa32;  border-radius: 15rpx;} .luck_list{    margin:auto;  width:660rpx;  height:405rpx;  background: #f86f66;  border:1rpx solid #fbbab1;  margin-top:70rpx;  position: absolute;  left:0;right:0;  top:56.3vh;}.luck_list>image{  position: absolute;  width:215rpx;  height:62rpx;  left:0;  right:0;  margin:auto;  top:-30rpx;}
微信小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎