最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序制作扭蛋機(jī)代碼實例

 更新時間:2019年09月24日 16:48:36   作者:寫代碼的農(nóng)民  
這篇文章主要介紹了微信小程序制作扭蛋機(jī)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

公司要制作活動小程序,其中有一個扭蛋機(jī)的效果實現(xiàn)抽獎的功能。在網(wǎng)上找了好久竟沒有找到(不知道是不是我找代碼的方式有問題)。最后還是自己做一個吧- _ - ,效果如下:

1.wxml

當(dāng)然我這里沒有用wx:for遍歷

<!-- 扭蛋機(jī) -->
 <view class="egg">
  <image class="egg_ji" src="{{imgUrl}}small_program/game/game_luck_draw_nd.png" mode="widthFix"></image>
  <image class="play {{start?'go':''}}" bindtap="eggPlay" src="{{imgUrl}}small_program/game/game_luck_draw_eggplay.png" mode="widthFix"></image>
  <image class="ball ball_1 {{start?'weiyi_1':''}}" src="{{imgUrl}}small_program/game/game_luck_draw_egg1.png" mode="widthFix"></image>
  <image class="ball ball_2 {{start?'weiyi_2':''}}" src="{{imgUrl}}small_program/game/game_luck_draw_egg2.png" mode="widthFix"></image>
  <image class="ball ball_3 {{start?'weiyi_3':''}}" src="{{imgUrl}}small_program/game/game_luck_draw_egg3.png" mode="widthFix"></image>
  <image class="ball ball_4 {{start?'weiyi_4':''}}" src="{{imgUrl}}small_program/game/game_luck_draw_egg4.png" mode="widthFix"></image>
  <image class="ball ball_5 {{start?'weiyi_5':''}}" src="{{imgUrl}}small_program/game/game_luck_draw_egg5.png" mode="widthFix"></image>
  <image class="ball ball_6 {{start?'weiyi_6':''}}" src="{{imgUrl}}small_program/game/game_luck_draw_egg6.png" mode="widthFix"></image>
  <image class="ball ball_7 {{start?'weiyi_7':''}}" src="{{imgUrl}}small_program/game/game_luck_draw_egg7.png" mode="widthFix"></image>
  <image hidden="{{qiu}}" animation="{{ani}}" class="ball ball_end" src="{{imgUrl}}small_program/game/game_luck_draw_egg7.png" mode="widthFix" ></image>
 </view>

2.wxss

這一步比較麻煩,需要調(diào)試扭蛋的位置和動畫路徑

/* 扭蛋機(jī) */
.egg{
 width: 100%;
 position: absolute;
 z-index: 3;
 top: 260rpx;
}
.egg .egg_ji{
 width: 70%;
 margin-left: 15%;
 z-index: 3;
}
.egg .play{
 width: 80rpx;
 position: absolute;
 z-index: 4;
 top: 405rpx;
 left: 275rpx;
}
.egg .ball{
 width: 75rpx;
 position: absolute;
 z-index: 2;
}
.egg .ball_1{
 top: 290rpx;
 left: 300rpx;
}
.egg .ball_2{
 top: 295rpx;
 left: 360rpx;
}
.egg .ball_3{
 top: 260rpx;
 left: 240rpx;
}
.egg .ball_4{
 top: 260rpx;
 left: 420rpx;
}
.egg .ball_5{
 top: 230rpx;
 left: 280rpx;
}
.egg .ball_6{
 top: 230rpx;
 left: 340rpx;
}
.egg .ball_7{
 top: 220rpx;
 left: 390rpx;
}
.egg .ball_end{
 top: 410rpx;
 left: 390rpx;
}

.weiyi_1 {
 animation: around1 1.5s linear infinite;
}
.weiyi_2 {
 animation: around2 1.5s linear infinite;
}
.weiyi_3 {
 animation: around3 1.5s linear infinite;
} 
.weiyi_4 {
 animation: around4 1.5s linear infinite;
}
.weiyi_5 {
 animation: around5 1.5s linear infinite;
}
.weiyi_6 {
 animation: around6 1.5s linear infinite;
}
.weiyi_7 {
 animation: around7 1.5s linear infinite;
}
.go{
 animation: around 0.3s linear 1;
}


/* 位移 */
@keyframes around{
 100% {
 -webkit-transform: rotate(-180deg)
 }
}

@keyframes around1 {
 0% {
 -webkit-transform: translate(0rpx, 0rpx)
 }
 20% {
 -webkit-transform: translate(-100rpx, -200rpx)
 }
 40% {
 -webkit-transform: translate(40rpx, -280rpx)
 }
 60% {
 -webkit-transform: translate(150rpx, -200rpx)
 }
 80% {
 -webkit-transform: translate(150rpx, -50rpx)
 }
 100% {
 -webkit-transform: translate(0, 0)
 }
}

@keyframes around2 {
 0% {
 -webkit-transform: translate(0rpx, 0rpx)
 }
 20% {
 -webkit-transform: translate(100rpx, -200rpx)
 }
 40% {
 -webkit-transform: translate(-20rpx, -280rpx)
 }
 60% {
 -webkit-transform: translate(-150rpx, -200rpx)
 }
 80% {
 -webkit-transform: translate(-150rpx, -50rpx)
 }
 100% {
 -webkit-transform: translate(0, 0)
 }
}

@keyframes around3 {
 0% {
 -webkit-transform: translate(0rpx, 0rpx)
 }
 20% {
 -webkit-transform: translate(180rpx, 10rpx)
 }
 40% {
 -webkit-transform: translate(240rpx, -110rpx)
 }
 60% {
 -webkit-transform: translate(100rpx, -240rpx)
 }
 80% {
 -webkit-transform: translate(-50rpx, -130rpx)
 }
 100% {
 -webkit-transform: translate(0, 0)
 }
}

@keyframes around4 {
 0% {
 -webkit-transform: translate(0rpx, 0rpx)
 }
 20% {
 -webkit-transform: translate(-180rpx, 10rpx)
 }
 40% {
 -webkit-transform: translate(-240rpx, -110rpx)
 }
 60% {
 -webkit-transform: translate(-100rpx, -240rpx)
 }
 80% {
 -webkit-transform: translate(50rpx, -130rpx)
 }
 100% {
 -webkit-transform: translate(0, 0)
 }
}

@keyframes around5 {
 0% {
 -webkit-transform: translate(0rpx, 0rpx)
 }
 20% {
 -webkit-transform: translate(40rpx, 70rpx)
 }
 40% {
 -webkit-transform: translate(50rpx, -210rpx)
 }
 60% {
 -webkit-transform: translate(-80rpx, -100rpx)
 }
 80% {
 -webkit-transform: translate(190rpx, -50rpx)
 }
 100% {
 -webkit-transform: translate(0, 0)
 }
}

@keyframes around6 {
 0% {
 -webkit-transform: translate(0rpx, 0rpx)
 }
 20% {
 -webkit-transform: translate(-150rpx, -50rpx)
 }
 40% {
 -webkit-transform: translate(130rpx, -140rpx)
 }
 60% {
 -webkit-transform: translate(-110rpx, -180rpx)
 }
 80% {
 -webkit-transform: translate(-130rpx, -20rpx)
 }
 100% {
 -webkit-transform: translate(0, 0)
 }
}

@keyframes around7 {
 0% {
 -webkit-transform: translate(0rpx, 0rpx)
 }
 20% {
 -webkit-transform: translate(80rpx, -50rpx)
 }
 40% {
 -webkit-transform: translate(-180rpx, -100rpx)
 }
 60% {
 -webkit-transform: translate(50rpx, -150rpx)
 }
 80% {
 -webkit-transform: translate(-180rpx, -20rpx)
 }
 100% {
 -webkit-transform: translate(0, 0)
 }
}

3.js

這一步要比css要是要簡單的多,點擊使動畫動起來,調(diào)用api接口獲取獎品就可以了

Page({

 /**
  * 頁面的初始數(shù)據(jù)
  */
 data: {
  imgUrl: app.data.imgUrl,
  start : false,
  qiu: true,
 },

/**
 * 點擊扭蛋機(jī)
 */
 eggPlay(){
  let _this = this;

  _this.setData({
   start: true,
  })
  setTimeout(() => {
   _this.setData({
    start: false,
    qiu: false,
   })
   //球落下動畫
   var animation = wx.createAnimation({
    duration: 1500,
    timingFunction: 'ease',
   });
   animation.opacity(1).step()
   this.setData({
    ani: animation.export()
   })
  }, 3000);

  _this.setData({
   qiu: true
  })
  //將動畫返回到開始位置
  var animation = wx.createAnimation({
   duration: 1500,
   timingFunction: 'ease',
  });
  animation.opacity(0).step()
  this.setData({
   ani: animation.export()
  })
 },

這個動畫有個小的bug,就是連續(xù)點擊按鈕動畫時間會變快,如果有更好的方法可以留言交流。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)手機(jī)號碼驗證

    微信小程序?qū)崿F(xiàn)手機(jī)號碼驗證

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)手機(jī)號碼驗證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JavaScript中?this?的綁定指向規(guī)則

    JavaScript中?this?的綁定指向規(guī)則

    這篇文章主要介紹了JavaScript中?this?的綁定指向規(guī)則,this的指向問題存在各種各樣的,關(guān)于如何綁定指向,下面文章作簡單介紹需要的小伙伴可以參考一下
    2022-06-06
  • uniapp組件傳值的方法(父傳子,子傳父,對象傳值)實戰(zhàn)案例

    uniapp組件傳值的方法(父傳子,子傳父,對象傳值)實戰(zhàn)案例

    現(xiàn)在的前端開發(fā)中基本上都是組件化開發(fā)的,下面這篇文章主要給大家介紹了關(guān)于uniapp組件傳值(父傳子,子傳父,對象傳值)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • JS調(diào)用Android、Ios原生控件

    JS調(diào)用Android、Ios原生控件

    本文主要介紹了JS調(diào)用Android、Ios通信的相同點和不同點,以便幫助我們在進(jìn)行混合式開發(fā)時,提高代碼質(zhì)量,實現(xiàn)兩者在網(wǎng)頁端代碼的統(tǒng)一。下面跟著小編一起來看下吧
    2017-01-01
  • 淺談JS函數(shù)定義方式的區(qū)別

    淺談JS函數(shù)定義方式的區(qū)別

    下面小編就為大家?guī)硪黄獪\談JS函數(shù)定義方式的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 深入淺析javascript立即執(zhí)行函數(shù)

    深入淺析javascript立即執(zhí)行函數(shù)

    在Javascript中,任何function在執(zhí)行的時候都會創(chuàng)建一個執(zhí)行上下文,因為為function聲明的變量和function有可能只在該function內(nèi)部,這個上下文,在調(diào)用function的時候,提供了一種簡單的方式來創(chuàng)建自由變量或私有子function。
    2015-10-10
  • 微信小程序結(jié)合Storage實現(xiàn)搜索歷史效果

    微信小程序結(jié)合Storage實現(xiàn)搜索歷史效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序結(jié)合Storage實現(xiàn)搜索歷史效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • JS如何操作DOM基于表格動態(tài)展示數(shù)據(jù)

    JS如何操作DOM基于表格動態(tài)展示數(shù)據(jù)

    這篇文章主要介紹了JS如何操作DOM基于表格動態(tài)展示數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • JS動態(tài)的把左邊列表添加到右邊的實現(xiàn)代碼(可上下移動)

    JS動態(tài)的把左邊列表添加到右邊的實現(xiàn)代碼(可上下移動)

    在javascript前端開發(fā)過程中經(jīng)常見到動態(tài)的把左邊列表添加到右邊,基于js代碼怎么實現(xiàn)的呢?今天小編通過本文給大家介紹下js 左邊列表添加到右邊的實現(xiàn)方法,感興趣的朋友一起看看吧
    2016-11-11
  • 十個開發(fā)人員面臨的最常見的JavaScript問題總結(jié)

    十個開發(fā)人員面臨的最常見的JavaScript問題總結(jié)

    今天,JavaScript?是幾乎所有現(xiàn)代?Web?應(yīng)用的核心。這就是為什么JavaScript問題,以及找到導(dǎo)致這些問題的錯誤,是?Web?發(fā)者的首要任務(wù)。本文總結(jié)了十個常見的問題及解決方法,需要的可以參考一下
    2022-11-11

最新評論

沁水县| 连南| 库伦旗| 渑池县| 图们市| 任丘市| 文水县| 临江市| 台北县| 息烽县| 盐亭县| 肇东市| 瑞昌市| 盐池县| 松阳县| 安泽县| 鄄城县| 墨江| 当阳市| 铁力市| 澄迈县| 东丰县| 黄陵县| 宁安市| 徐闻县| 高邮市| 彭泽县| 枣阳市| 临沭县| 江津市| 读书| 长武县| 阜城县| 法库县| 游戏| 乌兰察布市| 象州县| 汽车| 托克逊县| 三河市| 靖州|