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

微信小程序 扭蛋抽獎機css3動畫實現(xiàn)詳解

 更新時間:2019年07月19日 11:44:34   作者:空箜崆  
這篇文章主要介紹了微信小程序 扭蛋抽獎機css3動畫實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

前言

最近快速上線一個抽獎活動,又不想用canvas做,思考了很久,還是決定使用css3的動畫來做,只要小球動得快,就沒人發(fā)現(xiàn)我這些個小球的運動路徑都是一樣的了。先上動圖

wxml文件:

<view class="ball-box">
  <image class="ball ball_1 {{start?'weiyi_1':''}}" src="https://acceleratepic.miniso.com/miniso/ball1.png"></image>
  <image class="ball ball_2 {{start?'weiyi_2':''}}" src="https://acceleratepic.miniso.com/miniso/ball1.png"></image>
  <image class="ball ball_3 {{start?'weiyi_3':''}}" src="https://acceleratepic.miniso.com/miniso/ball2.png"></image>
  <image class="ball ball_4 {{start?'weiyi_4':''}}" src="https://acceleratepic.miniso.com/miniso/ball2.png"></image>
  <image class="ball ball_5 {{start?'weiyi_5':''}}" src="https://acceleratepic.miniso.com/miniso/ball1.png"></image>
  <image class="ball ball_6 {{start?'weiyi_6':''}}" src="https://acceleratepic.miniso.com/miniso/ball2.png"></image>
  <image class="ball ball_7 {{start?'weiyi_7':''}}" src="https://acceleratepic.miniso.com/miniso/ball3.png"></image>
  <image class="ball ball_8 {{start?'weiyi_8':''}}" src="https://acceleratepic.miniso.com/miniso/ball3.png"></image>
  <image class="ball ball_9 {{start?'weiyi_9':''}}" src="https://acceleratepic.miniso.com/miniso/ball3.png"></image>
  <image class="ball ball_10 {{start?'weiyi_10':''}}" src="https://acceleratepic.miniso.com/miniso/ball4.png"></image>
  <image class="ball ball_11 {{start?'weiyi_11':''}}" src="https://acceleratepic.miniso.com/miniso/ball4.png"></image>
</view>

這個做得我頭皮發(fā)麻,但是寫這篇文章時突然想到,為啥不用個for循環(huán)來做呢?!

<view class="ball-box">
 <image wx:for="ballList" wx:for-index="i" class="ball ball_{{i}} {{start?'weiyi_{{i}}':''}}" src="https://acceleratepic.miniso.com/miniso/ball{{i}}.png"></image>
</view>

這樣看起來是不是舒服多了,因為是這段代碼現(xiàn)場手寫,如果有啥bug也不好說。

wxss文件:

.weiyi_1 {
 animation: around1 1.5s linear infinite;
 -webkit-animation: around1 1.5s linear infinite;
}

簡單的動畫

/* 位移 */

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

@keyframes around1 {
 0% {
 transform: translate(0rpx, 0rpx)
 }
 20% {
 transform: translate(100rpx, -250rpx)
 }
 40% {
 transform: translate(200rpx, -100rpx)
 }
 60% {
 transform: translate(50rpx, -230rpx)
 }
 80% {
 transform: translate(300rpx, -50rpx)
 }
 100% {
 transform: translate(0, 0)
 }
}

簡單的位移

其他就不一一列出來了,反正都差不多,改變一下運動軌跡就行了。

js文件:

相比喪病的樣式,js文件就簡單多了。

_this.setData({
 start: true
})

控制抽獎開始

setTimeout(() => {
  _this.setData({
   start: false,
   end: true
  })
  //其他代碼部分
  //time是接口請求開始到結(jié)束的時間
}, Math.ceil(time / 1500) * 1500 - time)

這里用了一個setTimeout,用于設(shè)置動畫結(jié)束時間,優(yōu)化一下動畫,不讓結(jié)束看起來太突兀。

1500是wxss里這是的動畫時間。

總結(jié):

簡單的扭蛋機,有時間用canvas來做做。

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

相關(guān)文章

  • javascript中innerText和innerHTML屬性用法實例分析

    javascript中innerText和innerHTML屬性用法實例分析

    這篇文章主要介紹了javascript中innerText和innerHTML屬性用法,實例分析了javascript中innerText和innerHTML屬性的作用和相關(guān)的使用技巧,需要的朋友可以參考下
    2015-05-05
  • js鼠標坐標獲取常用的三個方法

    js鼠標坐標獲取常用的三個方法

    這篇文章主要給大家介紹了js鼠標坐標獲取常用的三個方法,在 JavaScript中當事件發(fā)生時獲取鼠標的位置是件很重要的事件,需要的朋友可以參考下
    2023-09-09
  • JS正則表達式修飾符中multiline(/m)用法分析

    JS正則表達式修飾符中multiline(/m)用法分析

    這篇文章主要介紹了JS正則表達式修飾符中multiline(/m)用法,結(jié)合實例形式分析了JS正則中多行模式multiline的功能、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-12-12
  • JS圖片自動輪換效果實現(xiàn)思路附截圖

    JS圖片自動輪換效果實現(xiàn)思路附截圖

    這篇文章主要介紹了JS實現(xiàn)的圖片自動輪換效果,有具體的實現(xiàn)思路及截圖,希望對大家學習有所幫助
    2014-04-04
  • JavaScript中你不得不知道的Promise高級用法分享

    JavaScript中你不得不知道的Promise高級用法分享

    在JavaScript中,Promise是一種解決異步編程問題的重要方式,本文主要來和大家探討一下23個Promise的高級用法,每一個都在JavaScript的海洋中航行,讓開發(fā)者們能夠以更高效、優(yōu)雅的方式處理異步操作,希望對大就有所幫助
    2023-12-12
  • js事件(Event)知識整理

    js事件(Event)知識整理

    事件(Event)知識整理,本文由網(wǎng)上資料整理而來,需要的朋友可以參考下
    2012-10-10
  • 一篇文章深入了解JavaScript中的fetch方法

    一篇文章深入了解JavaScript中的fetch方法

    這篇文章主要給大家介紹了關(guān)于JavaScript中fetch方法的相關(guān)資料,JavaScript中的fetch()方法用于向服務(wù)器請求并加載網(wǎng)頁中的信息,請求可以是返回JSON或XML格式數(shù)據(jù)的任何API,需要的朋友可以參考下
    2023-10-10
  • uni-app常用的幾種頁面跳轉(zhuǎn)方式總結(jié)

    uni-app常用的幾種頁面跳轉(zhuǎn)方式總結(jié)

    uni-app的頁面跳轉(zhuǎn)和小程序和vue很相似,只是方法和標簽有所不同,這篇文章主要給大家介紹了關(guān)于uni-app常用的幾種頁面跳轉(zhuǎn)方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • js導出excel文件的簡潔方法(推薦)

    js導出excel文件的簡潔方法(推薦)

    下面小編就為帶來一篇js導出excel文件的簡潔方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 通過V8源碼看一個關(guān)于JS數(shù)組排序的詭異問題

    通過V8源碼看一個關(guān)于JS數(shù)組排序的詭異問題

    一直在學習C++,也想閱讀點開源的C++項目,發(fā)現(xiàn)網(wǎng)上對Google V8評價不錯,于是上Github上找到了源代碼,但在學習中遇到一個js數(shù)組排序的問題,下面這篇文章主要給大家介紹了通過V8源碼說說一個關(guān)于JS數(shù)組排序的詭異問題的相關(guān)資料,需要的朋友可以參考下。
    2017-08-08

最新評論

乡城县| 临洮县| 方城县| 平陆县| 江都市| 鸡泽县| 高尔夫| 钟山县| 乌拉特中旗| 南宁市| 华坪县| 安平县| 临汾市| 廊坊市| 凌海市| 朝阳县| 静乐县| 宣化县| 青铜峡市| 宜昌市| 泰宁县| 利辛县| 宿松县| 安溪县| 车险| 华池县| 眉山市| 孟津县| 奉化市| 屏东市| 广饶县| 巴东县| 武邑县| 织金县| 谷城县| 保亭| 万山特区| 永吉县| 安多县| 三门峡市| 广平县|