亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

angular如何使用TweenMax動畫庫

發布時間:2021-03-18 13:06:00 來源:億速云 閱讀:355 作者:小新 欄目:開發技術

小編給大家分享一下angular如何使用TweenMax動畫庫,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

最近閑來無事,搗鼓搗鼓CSS

發現了一個比較好動畫庫,就是TweenMax

用起來略微有點麻煩,但是效果確實可以。

首先在angular中使用TweenMax就得先通過npm 安裝

1.  npm install --save-dev gsap
2.  npm install --save-dev @types/gsap

然后再引入

import {TweenMax} from "gsap";

就可以在頁面中使用了。

遇到的第一個問題就是,想要動畫通過按鈕觸發來不停的播放
但是動畫播完一遍以后,怎點按鈕都不會觸發

后面找到了原因,需要在反復觸發的時候,改變其位置才行,比如說一開始的X為500,動畫播完后X的位置就是500了,再反復觸發,位置還是500所以不會有作用,所以想要反復觸發,就得修改其位置

this.test = new TweenMax('.box',3,{
   x:this.direction?0:500,
   ease:Bounce.easeOut
  })

angular如何使用TweenMax動畫庫

第二個問題就是,在頁面上,想要在動畫過程中和結束以后改變藍色按鈕的狀態和文字,結果發現直接用綁定在按鈕上的屬性不能夠完成這個操作

<button [disabled]="isMoveing"  nz-button nzType="primary" (click)="repeat()">
  {{describle}}
</button>

this.test = new TweenMax('.box',3,{
   x:this.direction?0:500,
   ease:Bounce.easeOut,
   onStart:function(){
    this.describle = '運動中'
    this.isMoveing = true
   },
   onComplete:function(){
    this.describle = '動'
    this.isMoveing = false
   }
  })

通過一番折騰發覺,其實是this指向的問題

angular如何使用TweenMax動畫庫

上圖可以看到,在TweenMax方法中,this指向的是Tween這個方法本身,而我們需要改變的對象,是處在組件中的,也就是下圖所示

angular如何使用TweenMax動畫庫

定位到了問題所在處,那解決起來就比較簡單了,在函數作用域之外的地方定義一個元素指向正確的this就行

let _this = this
this.test = new TweenMax('.box',3,{
   x:this.direction?0:500,
   ease:Bounce.easeOut,
   onStart:function(){
    _this.describle = '運動中'
    _this.isMoveing = true
   },
   onComplete:function(){
    _this.describle = '動'
    _this.isMoveing = false
   }
  })

這樣就正常了。

以上是“angular如何使用TweenMax動畫庫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三河市| 凤翔县| 铜川市| 台州市| 宁波市| 靖宇县| 长寿区| 赤峰市| 晴隆县| 盐城市| 会东县| 木里| 白山市| 德庆县| 大宁县| 朔州市| 佛冈县| 永平县| 黄平县| 定安县| 蒙自县| 汶川县| 黄梅县| 丰县| 吉木萨尔县| 绿春县| 宝丰县| 平阳县| 鄂尔多斯市| 彭泽县| 鄂托克旗| 东乌| 萍乡市| 阿拉善右旗| 白沙| 白水县| 梓潼县| 磴口县| 普陀区| 涿鹿县| 伊宁市|