• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Angular練習之animations動畫三

    返回目錄

    前言

    文章基于angular的練手項目。文章目錄
    上一篇文章《Angular練習之animations動畫二》中練習了入場和出場動畫、 Keyframes實現串聯動畫、Group實現并行動畫。今天練習動畫回調函數、query選擇器、路由中使用動畫。

    開始練習

    回調函數

    回調用法也是很簡單,如下:

      <div *ngIf="Group" style="height: 100px;width: 100px;background-color: black; border-radius: 50px;"
           [@GroupAnimate]="boxState" (@GroupAnimate.done)="Callback(false)" (@GroupAnimate.start)="Callback(true)">
      </div>
    
    
      Callback(f:boolean){
        if(f){
          console.log("動畫開始");
        }else {
          console.log("動畫結束");
        }
      }

    演示效果

    query

    用法和css選擇器大致相同,通過query便可以實現不同元素實現不同的動畫效果。

    /*
    query選擇器演示
    用法和css選擇器大致相同
     */
    export const QueryAnimate = trigger('QueryAnimate',[
        transition('off=>on', [
          // 先全部隱藏
          query('div', style({ opacity: 0 })),
          // 再執行動畫
          query('.box-top', animate('500ms',keyframes([
            style({opacity: 0, transform: 'translateY(-400%)', offset: 0}),
            style({opacity: 1, transform: 'translateY(0)',     offset: 1.0})
          ]) )),
          query('.box-center', animate('500ms',keyframes([
            style({opacity: 0, transform: 'translateX(-400%)', offset: 0}),
            style({opacity: 1, transform: 'translateX(0)',     offset: 1.0})
          ]) )),
          query('.box-foot', animate('500ms',keyframes([
            style({opacity: 0, transform: 'translateY(400%)', offset: 0}),
            style({opacity: 1, transform: 'translateY(0)',     offset: 1.0})
          ]) )),
          query('h2', animate('500ms',keyframes([
            style({transform:'scale(0.5)'}),
            style({transform: 'scale(1)'})
          ]) )),
        ]),
        transition('on=>off', [
          query('.box-top', animate('500ms',keyframes([
            style({opacity: 1, transform: 'translateY(0)'}),
            style({opacity: 0, transform: 'translateY(-400%)'})
          ]) )),
          query('.box-center', animate('500ms',keyframes([
            style({opacity: 1, transform: 'translateX(0)'}),
            style({opacity: 0, transform: 'translateX(-400%)'})
          ]) )),
          query('.box-foot', animate('500ms',keyframes([
            style({opacity: 1, transform: 'translateY(0)'}),
            style({opacity: 0, transform: 'translateY(400%)'})
          ]) )),
          query('h2', animate('500ms',keyframes([
            style({transform:'scale(1)'}),
            style({transform: 'scale(0.5)'})
          ]) )),
        ])
      ]);

    演示

    源碼

    源碼放在github開源社區上面,隨時會更新。所以你下載最新版本的時候會與該文章描述的略有差異。
    github地址:https://github.com/yiershan/Angular5-test

    版權聲明:本文為yiershan1314原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/yiershan1314/article/details/78830117

    智能推薦

    Angular 動畫

    angular animation現在是angular默認之外的一個官方組件庫,在angular2的時候它是作為核心組件庫的一部分,到了angular4的時候為了減小核心庫的體積,就把它單獨移出了核心組件,但是這并不說明它不重要,angular動畫是angular應用中重要的組成部分,而且它也是官方內建提供的支持,只不過不在angular core核心組件里了, 安裝動畫庫: 安裝完之后要在app...

    iOS動畫編程-View動畫[ 4 ]高級View Animations

    View組合動畫 前幾節中我們已經學習了基本的View動畫,其實我們已經可以通過這些技術的組合實現非常酷炫的效果了,這節我們不會涉及新的API,一起來學習一下View動畫的組合 背景圖片的漸變效果 背景圖片的漸變效果在很多應用中都會遇到,其實利用前幾節學習到的基本View動畫就可以做到 我們現在希望在這兩個界面間進行切換 由于我們希望能夠柔和地過渡到第二個圖片,如果我們直接替換圖片的話會顯得非常突...

    Android35_Animations使用(三)

      一、AnimationSet的具體使用方法        1.AnimationSet是Animation的子類;        2.一個AnimationSet包含了一系列的Animation;      &nbs...

    瀏覽器 API 之 — Web Animations

    現代的前端,在頁面上做動畫,已經是家常便飯。瀏覽器的渲染性能也越來越好,并且還逐漸提供了一系列的 Web Animations API。此 API 讓開發者可以使用 js 來創建動畫,相比之前使用 css 做動畫會方便很多,同時相比以前傳統的用 js 做的動畫會更加高效,并且相信未來此 API 的能力會越來越大。 Web Animations 可查看 w3c 的規范文檔。在 caniuse 上,可...

    [Animations] 快速上手 iOS10 屬性動畫

    概述 今天要說的UIViewPropertyAnimator, 是iOS10新的API 詳細 代碼下載:http://www.demodashi.com/demo/10639.html 基礎動畫, 核心動畫到自定義轉場動畫其實都不是什么新東西了, 所以我也是草草看一遍就能夠讀個大概, 但今天要說的UIViewPropertyAnimator, 是iOS10新的API, 其他的好處我還不太清楚, 但...

    猜你喜歡

    Animations開源動效分析(一)POP按鈕動畫

    最近Github有一個上很火的開源動畫集叫Animations。 我也很喜歡做動畫動效,特來學習觀摩。因為動效的特殊性,很多情況下這個項目里的動效不能直接Copy到我們現有的項目中直接使用,所以搞清楚她們的實現原理就很有必要了。建議配合源碼學習。 POP按鈕動畫 沒用過的POP的請移步Facebook Pop 使用指南 效果如下 思路 整體效果是用三個CAShapeLayer和一個UILabel組...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡