国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - angularjs - angular使用TweenMax動畫庫的問題和解決方法

angular使用TweenMax動畫庫的問題和解決方法

2022-02-19 17:47munergs angularjs

這篇文章主要給大家介紹了關于angular使用TweenMax的相關問題和解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

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

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

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

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

然后再引入

?
1
import {TweenMax} from "gsap";

就可以在頁面中使用了。

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

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

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

angular使用TweenMax動畫庫的問題和解決方法

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<button [disabled]="isMoveing" style="margin-top: 10px;" 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就行

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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動畫庫的文章就介紹到這了,更多相關angular使用TweenMax內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://segmentfault.com/a/1190000039653699

延伸 · 閱讀

精彩推薦
  • angularjsAngularJS 中括號的作用詳解

    AngularJS 中括號的作用詳解

    這篇文章主要介紹了AngularJS 中括號的作用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    Java Pro8652022-02-22
  • angularjsAngular.JS中指令的命名規則詳解

    Angular.JS中指令的命名規則詳解

    這篇文章主要給大家介紹了關于Angular.JS中指令命名規則的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看...

    劉小光10402022-01-17
  • angularjsangularJS 中input示例分享

    angularJS 中input示例分享

    這篇文章主要介紹了angularJS 中input示例分享,需要的朋友可以參考下...

    angularJS教程網5652022-01-03
  • angularjsangularJS中router的使用指南

    angularJS中router的使用指南

    這篇文章主要介紹了angularJS中router的使用方法和示例分享,需要的朋友可以參考下...

    angularJS教程網8372022-01-03
  • angularjsAngular框架詳解之視圖抽象定義

    Angular框架詳解之視圖抽象定義

    這篇文章主要給大家介紹了關于Angular框架詳解之視圖抽象定義的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習...

    被刪6782022-02-24
  • angularjsangularjs實現與服務器交互分享

    angularjs實現與服務器交互分享

    AngularJS是Google開發的純客戶端JavaScript技術的WEB框架,用于擴展、增強HTML功能,它專為構建強大的WEB應用而設計。...

    angularjs教程網7312022-01-03
  • angularjs教你用AngularJS框架一行JS代碼實現控件驗證效果

    教你用AngularJS框架一行JS代碼實現控件驗證效果

    簡單來說Angular.js是google開發者設計和開發的一套前端開發框架,幫助你簡化前端開發的負擔。到底能簡化到什么程度呢,今天我們來看下,一行代碼實現控...

    AngularJS教程網8012022-01-03
  • angularjsangularJS提交表單(form)

    angularJS提交表單(form)

    這篇文章主要介紹了angularJS提交表單(form)的方法和示例,需要的朋友可以參考下...

    angularJS教程網3972022-01-03
主站蜘蛛池模板: 老丁头电影在线观看 | 久久综合九九 | 伊人99| 99r在线 | 国产在线欧美 | 日韩午夜影院 | 日本久久精品视频 | 国产日韩欧美一二三区 | 久久99精品久久久久 | 精品国产黄a∨片高清在线 黄色大片aaaa | 国产精品久久久久久婷婷天堂 | 91色乱码一区二区三区 | 免费黄色小视频 | 国产欧美专区 | 国产视频1区 | 在线观看亚洲 | 欧美亚洲免费 | 日韩欧美精品在线 | 一区二区三区在线播放 | 天堂va久久久噜噜噜久久va | 国产区在线 | 久久福利 | 蜜桃视频一区二区 | 日韩视频精品在线 | 中文字幕在线观看一区 | 日韩成人在线视频 | 久久精品亚洲一区二区 | 免费视频爱爱太爽了 | 视频一区二区三区免费观看 | 欧美综合色 | 九色在线观看 | 99久久婷婷国产综合精品电影 | 中文字幕亚洲一区 | 久久亚洲一区 | 俺去俺来也在线www色官网 | 青青伊人久久 | 日韩欧美在线一区 | 欧美精品久久久久 | 日韩一区在线视频 | 性做久久 | 亚州精品国产 |