vue+canvas實現炫酷時鍾效果的倒計時插件(已發布到npm的vue2插件,開箱即用)


前言:

  此事例是在vue組件中,使用canvas實現倒計時動畫的效果。其實,實現效果的邏輯跟vue沒有關系,只要讀懂canvas如何實現效果的這部分邏輯就可以了
  canvas動畫的原理:利用定時器,給定合理的幀數,不斷的清除畫布,再重繪圖形,即呈現出動畫效果。 

讓我們先看下效果

  說明:此gif清晰度很低,因為轉成gif圖的時候,質量受損,幀數減少,所以倒計時轉到紅色時候看起來變的很模糊。但是實際在瀏覽器上效果全程都是很清晰和連貫的
 
        

      

 

使用

npm
  npm install vue-canvas-countdown --save-dev
es6 import
  import countDown from 'vue-canvas-countdown'
源碼、demo、使用方法請參考github:https://github.com/Damon0820/vue-countdown

 

左手右手一個慢動作

  說明:扇形顏色是漸變的(仔細看圖:扇形逆時針方向漸變顏色,內側淺,外側深)

 

            

   動畫步驟分析:假如設定倒計時總時間為15s, 變黃色時機為10s,變紅色時機為5s。

  1、開始倒計時后顏色為綠色。綠色含義是:倒計時的時間離結束時間還很長。

  2、10s后變黃色。黃色的含義是:倒計時的時間離結束時間挺近了,起警告作用。動畫中,出現快速旋轉的扇形。

  3、5s后變紅色。紅色的含義是:倒計時的時間馬上就要結束了,起強烈警告作用。動畫中,快速旋轉的扇形速度加快。

  4、0s倒計時結束。動畫消失。靜態圓形框中顯示提示文字。

 

修煉js寶典,get canvas技能

    之前對於canvas一竅不通,網上查了資料,介紹api的時候過於簡單,也不好理解,看別人寫的示例代碼,更是懵逼。而后,回歸原始,修煉經典的《JavaScript高級程序設計》這本js寶典。書本二三十頁的介紹canvas部分,系統的學習了一下。邊看邊寫效果,20多頁的書看完了,效果也寫出來了。對於新手,我推薦找到系統介紹canvas的資料,先花一兩個先熟悉下canvas的api,然后實現效果就是分分鍾的事了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM