vue+canvas實(shí)現(xiàn)炫酷時(shí)鐘效果的倒計(jì)時(shí)插件(已發(fā)布到npm的vue2插件,開(kāi)箱即用)
前言:
此事例是在vue組件中,使用canvas實(shí)現(xiàn)倒計(jì)時(shí)動(dòng)畫(huà)的效果。其實(shí),實(shí)現(xiàn)效果的邏輯跟vue沒(méi)有關(guān)系,只要讀懂canvas如何實(shí)現(xiàn)效果的這部分邏輯就可以了
canvas動(dòng)畫(huà)的原理:利用定時(shí)器,給定合理的幀數(shù),不斷的清除畫(huà)布,再重繪圖形,即呈現(xiàn)出動(dòng)畫(huà)效果。
讓我們先看下效果
說(shuō)明:此gif清晰度很低,因?yàn)檗D(zhuǎn)成gif圖的時(shí)候,質(zhì)量受損,幀數(shù)減少,所以倒計(jì)時(shí)轉(zhuǎn)到紅色時(shí)候看起來(lái)變的很模糊。但是實(shí)際在瀏覽器上效果全程都是很清晰和連貫的
使用
npm npm install vue-canvas-countdown --save-dev es6 import import countDown from 'vue-canvas-countdown'
源碼、demo、使用方法請(qǐng)參考github:https://github.com/Damon0820/vue-countdown
左手右手一個(gè)慢動(dòng)作
說(shuō)明:扇形顏色是漸變的(仔細(xì)看圖:扇形逆時(shí)針?lè)较驖u變顏色,內(nèi)側(cè)淺,外側(cè)深)
動(dòng)畫(huà)步驟分析:假如設(shè)定倒計(jì)時(shí)總時(shí)間為15s, 變黃色時(shí)機(jī)為10s,變紅色時(shí)機(jī)為5s。
1、開(kāi)始倒計(jì)時(shí)后顏色為綠色。綠色含義是:倒計(jì)時(shí)的時(shí)間離結(jié)束時(shí)間還很長(zhǎng)。
2、10s后變黃色。黃色的含義是:倒計(jì)時(shí)的時(shí)間離結(jié)束時(shí)間挺近了,起警告作用。動(dòng)畫(huà)中,出現(xiàn)快速旋轉(zhuǎn)的扇形。
3、5s后變紅色。紅色的含義是:倒計(jì)時(shí)的時(shí)間馬上就要結(jié)束了,起強(qiáng)烈警告作用。動(dòng)畫(huà)中,快速旋轉(zhuǎn)的扇形速度加快。
4、0s倒計(jì)時(shí)結(jié)束。動(dòng)畫(huà)消失。靜態(tài)圓形框中顯示提示文字。
修煉js寶典,get canvas技能
之前對(duì)于canvas一竅不通,網(wǎng)上查了資料,介紹api的時(shí)候過(guò)于簡(jiǎn)單,也不好理解,看別人寫(xiě)的示例代碼,更是懵逼。而后,回歸原始,修煉經(jīng)典的《JavaScript高級(jí)程序設(shè)計(jì)》這本js寶典。書(shū)本二三十頁(yè)的介紹canvas部分,系統(tǒng)的學(xué)習(xí)了一下。邊看邊寫(xiě)效果,20多頁(yè)的書(shū)看完了,效果也寫(xiě)出來(lái)了。對(duì)于新手,我推薦找到系統(tǒng)介紹canvas的資料,先花一兩個(gè)先熟悉下canvas的api,然后實(shí)現(xiàn)效果就是分分鐘的事了
總結(jié)
以上所述是小編給大家介紹的vue+canvas實(shí)現(xiàn)炫酷時(shí)鐘效果的倒計(jì)時(shí)插件(已發(fā)布到npm的vue2插件,開(kāi)箱即用),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- vue2實(shí)現(xiàn)簡(jiǎn)易時(shí)鐘效果
- Vue編寫(xiě)炫酷的時(shí)鐘插件
- Vue實(shí)現(xiàn)數(shù)字時(shí)鐘效果
- vue實(shí)現(xiàn)電子時(shí)鐘效果
- vue 實(shí)現(xiàn)LED數(shù)字時(shí)鐘效果(開(kāi)箱即用)
- vue簡(jiǎn)單練習(xí) 桌面時(shí)鐘的實(shí)現(xiàn)代碼實(shí)例
- 基于vue2的canvas時(shí)鐘倒計(jì)時(shí)組件步驟解析
- vue.js實(shí)現(xiàn)帶日期星期的數(shù)字時(shí)鐘功能示例
- 用Vue.js開(kāi)發(fā)網(wǎng)頁(yè)時(shí)鐘
相關(guān)文章
詳解Vue2+Echarts實(shí)現(xiàn)多種圖表數(shù)據(jù)可視化Dashboard(附源碼)
本篇文章主要介紹了詳解Vue2+Echarts實(shí)現(xiàn)多種圖表數(shù)據(jù)可視化Dashboard(附源碼),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03Vue3實(shí)現(xiàn)canvas畫(huà)布組件自定義畫(huà)板實(shí)例代碼
Vue?Canvas是一個(gè)基于Vue.js的輕量級(jí)畫(huà)板組件,旨在提供一個(gè)簡(jiǎn)易的畫(huà)布功能,用戶可以在網(wǎng)頁(yè)上進(jìn)行自由繪圖,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09在vue項(xiàng)目中引入scss并使用scss樣式詳解
SCSS是一種CSS預(yù)處理語(yǔ)言,定義了一種新的專門(mén)的編程語(yǔ)言,編譯后形成正常的css文件,為css增加一些編程特性,這篇文章主要給大家介紹了關(guān)于在vue項(xiàng)目中引入scss并使用scss樣式的相關(guān)資料,需要的朋友可以參考下2022-07-07Vue項(xiàng)目中如何運(yùn)用vuex的實(shí)戰(zhàn)記錄
如果說(shuō)是JQuery是手工作坊,那么Vue.js就像是一座工廠,雖然Vue.js做的任何事情JQuery都可以做,但無(wú)論是代碼量還是流程規(guī)范性都是前者較優(yōu),下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中如何運(yùn)用vuex的相關(guān)資料,需要的朋友可以參考下2021-09-09vue中多個(gè)倒計(jì)時(shí)實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了vue中多個(gè)倒計(jì)時(shí)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Vue3使用ref和reactive管理狀態(tài)的代碼示例
ref 和 reactive 是 Composition API 中用來(lái)聲明響應(yīng)式數(shù)據(jù)的兩個(gè)核心函數(shù),在 Vue 3 中,使用 setup 語(yǔ)法糖可以更簡(jiǎn)潔地使用這些功能,本文將探討如何使用 ref 和 reactive 來(lái)管理狀態(tài),并解釋它們之間的區(qū)別,需要的朋友可以參考下2024-09-09Python實(shí)現(xiàn)圖片二值化的詳細(xì)代碼
圖像二值化就是將圖像上的像素點(diǎn)的“灰度值”設(shè)置為[0,?0,?0]或[255,?255,?255],即要么純黑,要么純白,這篇文章主要介紹了Python實(shí)現(xiàn)圖片二值化,需要的朋友可以參考下2024-05-05