使用Angular6創(chuàng)建各種動畫效果的方法-創(chuàng)新互聯(lián)

就技術(shù)角度而言,動畫可以被定義為從初始狀態(tài)到最終狀態(tài)的轉(zhuǎn)換過程。如今它已是各種Web應(yīng)用不可或缺的組成部分。通過動畫,我們不僅能創(chuàng)建出各種酷炫的UI,同時(shí)它們也能增加應(yīng)用程序的趣味性。因此,設(shè)計(jì)精美的動畫在吸引用戶眼球的同時(shí),也增強(qiáng)了他們的瀏覽體驗(yàn)。

在昭平等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),昭平網(wǎng)站建設(shè)費(fèi)用合理。

Angular能夠讓我們創(chuàng)建出具有原生表現(xiàn)效果的動畫。我們將通過本文學(xué)習(xí)到如何使用Angular 6來創(chuàng)建各種動畫效果。在此,我們將使用Visual Studio Code來進(jìn)行示例演示。

準(zhǔn)備工作

安裝Visual Studio Code和Angular CLI。

如果您是新手,請參閱我以前的Angular 6.0入門文章(https://dzone.com/articles/getting-started-with-angular-60),在自己的機(jī)器上建立出Angular 6開發(fā)環(huán)境。

源代碼

請從GitHub處下載源代碼,地址是:https://github.com/AnkitSharma-007/angular-6-animations。

理解Angular動畫的不同狀態(tài)

動畫是某個(gè)元素從一種狀態(tài)向另一種狀態(tài)的轉(zhuǎn)變, Angular為單個(gè)元素定義出了三種不同的狀態(tài)。

  1. Void狀態(tài):void狀態(tài)表示某個(gè)元素處于不是DOM一部分的狀態(tài)。當(dāng)一個(gè)元素被創(chuàng)建且尚未放置到DOM中、或者該元素從DOM中移除時(shí),就處于該狀態(tài)。此狀態(tài)特別實(shí)用,特別是當(dāng)我們想通過添加或刪除DOM中的元素,來創(chuàng)建動畫的時(shí)候,我們在代碼中用關(guān)鍵字void來定義這種狀態(tài)。
  2. Wildcard狀態(tài):又稱元素的默認(rèn)狀態(tài)。不管當(dāng)前的動畫狀態(tài)如何,各種樣式都用這種狀態(tài)來定義元素。我們在代碼中用符號*來定義這種狀態(tài)。
  3. Custom狀態(tài):元素的這種狀態(tài)需要在代碼中被明確定義。我們在代碼中可以使用任何自定義的名稱來表示這種狀態(tài)。

動畫轉(zhuǎn)換定時(shí)

我們在自己的應(yīng)用中,通過定義動畫轉(zhuǎn)換的定時(shí),來顯示從一個(gè)狀態(tài)過度到另一個(gè)狀態(tài)。Angular為我們提供了如下三種與時(shí)間相關(guān)的屬性:

1.持續(xù)時(shí)間(Duration)

此屬性表示我們的動畫從開始(初始狀態(tài))到完成(最終狀態(tài))所需的時(shí)間。我們可以用以下三種方式來定義動畫的持續(xù)時(shí)間:

  • 使用一個(gè)整數(shù)值,來表示以毫秒為單位的時(shí)間,例如:500
  • 使用一個(gè)字符串值,來表示以毫秒為單位的時(shí)間,例如:'500ms'
  • 使用一個(gè)字符串值,來表示以秒為單位的時(shí)間。例如:'0.5'

2.延遲(Delay)

此屬性代表動畫從觸發(fā)到和實(shí)際轉(zhuǎn)換開始之間的時(shí)間間隔。該屬性遵循與上述持續(xù)時(shí)間相同的語法規(guī)則。要定義延遲,我們需要在持續(xù)時(shí)間值的后面,以字符串的形式添加延遲的數(shù)值,即:'Duration Delay'。例如' 0.3s 500ms',表示轉(zhuǎn)換將等待500毫秒,然后運(yùn)行0.3秒。

3.滑動(Easing)

此屬性表示動畫在其執(zhí)行過程中是如何被加速或減速的。我們可以在持續(xù)時(shí)間和延遲的字符串后面,添加第三個(gè)變量。當(dāng)然,如果延遲數(shù)值不存在的話,那么Easing將成為第二個(gè)數(shù)值。這同樣也是一個(gè)可選屬性。例如:

  •  '0.3s 500ms ease-in'。這意味著轉(zhuǎn)換將等待500毫秒,然后運(yùn)行0.3秒(300毫秒),實(shí)現(xiàn)滑入的效果。
  •  '300ms ease-out'。這意味著轉(zhuǎn)換將運(yùn)行300毫秒(0.3秒),實(shí)現(xiàn)滑出的效果。

創(chuàng)建Angular 6應(yīng)用

請?jiān)谀挠?jì)算機(jī)上打開命令提示行,并執(zhí)行以下命令集:

  • mkdir ngAnimationDemo
  • cd ngAnimationDemo
  • ng new ngAnimation

這些命令將創(chuàng)建一個(gè)名為ngAnimationDemo的目錄,然后在該目錄內(nèi)創(chuàng)建一個(gè)名為ngAnimation的Angular應(yīng)用。

請使用Visual Studio Code打開ngAnimation應(yīng)用。接著我們將創(chuàng)建自己的組件。

請依次進(jìn)入View >> Integrated Terminal,這將打開Visual Studio Code的終端窗口。

請執(zhí)行以下命令,以創(chuàng)建相應(yīng)的組件:

ng g c animationdemo

它將在/src/app文件夾內(nèi)創(chuàng)建我們的組件--animationdemo。

為了用到Angular動畫,我們需要在應(yīng)用中導(dǎo)入特定的動畫模塊--BrowserAnimationsModule。請打開app.module.ts文件,并添加如下的導(dǎo)入定義:

import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; 
// other import definitions 
@NgModule({ imports: [BrowserAnimationsModule // other imports]})

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章題目:使用Angular6創(chuàng)建各種動畫效果的方法-創(chuàng)新互聯(lián)
路徑分享:http://www.muchs.cn/article42/dhoiec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、小程序開發(fā)、服務(wù)器托管、定制開發(fā)關(guān)鍵詞優(yōu)化、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)