uniapp中使用GSAP的注意事項

GSAP是一款優(yōu)秀的動畫庫择份,能夠使用很簡單的方法構(gòu)建出炫酷的動畫效果。具體使用方法可以參考官方文檔烫堤,最近在uniapp里面使用了GSAP荣赶,發(fā)現(xiàn)還是挺好用的,做一個小總結(jié)鸽斟,記錄一下:

一拔创、選擇器作用

選擇器只能作用在view或者image標簽上,如果是自己封裝好的組件富蓄,或者是text標簽剩燥,作用不了,也就是說,比如下面的代碼:

//如果是自己封裝的組件
<custom-comp  class=".my-comp"  />

//加入讓這個組件沿著x軸移動100px
gsap.to('.my-comp',{ x:100})

//結(jié)論:根本移動不了

二灭红、對于時間軸position參數(shù)的理解

//例如下面第三個參數(shù)表示當前動畫執(zhí)行的時機
// 插入到前一個添加到時間線上的動畫的結(jié)束時間點
timeLine.to(".class", {x: 100}, ">");
開始                                結(jié)束
|----------------------------------|>
                時間軸

復(fù)雜一些的字符串侣滩,像是'+='和'-='這樣的前綴,表達的是一種相對的值变擒。當一個數(shù)字跟在'<' 或者'>'這兩個符號后面君珠,比如'<2',這樣的表示法相當于'<+=2'娇斑,比如下面這些寫法:

'+=1' 表示當前時間線結(jié)束后再過1秒的時間點位置策添,相當于有個1秒的間隔

'-=1' 表示當前時間線結(jié)束時間點前1秒的時間點位置,相當于有個1秒的時間重疊

'myLabel+=2' 表示在myLable這個標記后過兩秒的時間點位置

'<+=3' 表示前一個動畫起始點后3秒的位置

'<3' 和上面一個意思('<'和'>'直接跟數(shù)字毫缆,其實就是和'<+=3'或者'>+=3'是一樣的意思)

'>-0.5' 前一個動畫的結(jié)束時間點前0.5秒的時間點位置

注意唯竹,+= -= 這種是針對整個時間線動畫來說的,而 >(結(jié)尾) 和 <(開頭) 是針對前一個添加的動畫來說的

三悔醋、對于一些動作較多的相對復(fù)雜的動畫最好定義時間軸摩窃,所有動畫都掛在這個時間軸上執(zhí)行兽叮,例如:

//定義時間軸
let timeLine = gsap.timeline()
//通過時間軸執(zhí)行動畫
timeLine.to('.mark-icon', {
          rotate: 360,
          duration: 1,
          scale: 1.2,
          yoyo: true,
          repeat: -1,
          stagger: 0.2
})
.to()
.fromTo()
...

四芬骄、從一個位置精確移動到另一個位置

1.可以使用uniapp里面的獲取目標位置的坐標點

//例如:
//獲取界面元素的基本信息
async getDomElementBaseInfo(selector, pageObj) {
    return new Promise((resolve) => {
      let query = uni.createSelectorQuery().in(pageObj)
      query.select(selector).boundingClientRect()
      query.exec((res) => {
        if (res && res[0]) {
          //得到left、top鹦聪、等位置信息
          resolve(res[0])
        } else {
          resolve(false)
        }
      })
    })
}

2.然后通過fromTo方法將物體移動到指定位置

//示例代碼
//例如:
let timeLine = gsap.timeline()
timeLine
        .fromTo(
          currentSelector,//當前操作的對象的選擇器
          {
            left: this.currentPos.left,
            top: this.currentPos.top
          },
          {
            left: this.targetPos.left,
            top: this.targetPos.top,
            duration: 0.5
          }
)

五账阻、如何復(fù)位等待下一次動畫執(zhí)行

通常我們在實際業(yè)務(wù)中,經(jīng)常會用到在執(zhí)行某個操作之后調(diào)用一下動畫效果的這種場景泽本,就是每觸發(fā)一個動作執(zhí)行一次動畫效果淘太,我們可以使用時間軸的seek方法和pause方法做到等待下一次的動畫執(zhí)行:

//復(fù)位暫停在初始狀態(tài)
timeLine.seek(0).pause()

//例如:
 let timeLine = gsap.timeline()
      timeLine.to('.refresh-icon', {
        rotate: 360,
        duration: 0.5,
        onComplete: () => {
          timeLine.seek(0).pause()
       }
})

六、備注

官方文檔英文的规丽,看起來比較吃力蒲牧,找到一個中文文檔 ,對于基礎(chǔ)部分的用法做了翻譯赌莺,可以看看

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末冰抢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子艘狭,更是在濱河造成了極大的恐慌挎扰,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件巢音,死亡現(xiàn)場離奇詭異遵倦,居然都是意外死亡,警方通過查閱死者的電腦和手機官撼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進店門梧躺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人傲绣,你說我怎么就攤上這事掠哥〖辏” “怎么了?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵龙致,是天一觀的道長蛀缝。 經(jīng)常有香客問我,道長目代,這世上最難降的妖魔是什么屈梁? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮榛了,結(jié)果婚禮上在讶,老公的妹妹穿的比我還像新娘。我一直安慰自己霜大,他們只是感情好构哺,可當我...
    茶點故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著战坤,像睡著了一般曙强。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上途茫,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天碟嘴,我揣著相機與錄音,去河邊找鬼囊卜。 笑死娜扇,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的栅组。 我是一名探鬼主播雀瓢,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼玉掸!你這毒婦竟也來了刃麸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤排截,失蹤者是張志新(化名)和其女友劉穎嫌蚤,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體断傲,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡脱吱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了认罩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箱蝠。...
    茶點故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宦搬,到底是詐尸還是另有隱情牙瓢,我是刑警寧澤,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布间校,位于F島的核電站矾克,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏憔足。R本人自食惡果不足惜胁附,卻給世界環(huán)境...
    茶點故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滓彰。 院中可真熱鬧控妻,春花似錦、人聲如沸揭绑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽他匪。三九已至菇存,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诚纸,已是汗流浹背撰筷。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工陈惰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留畦徘,地道東北人。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓抬闯,卻偏偏與公主長得像井辆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子溶握,可洞房花燭夜當晚...
    茶點故事閱讀 43,566評論 2 349

推薦閱讀更多精彩內(nèi)容