vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)


Posted in Javascript onNovember 05, 2018

前言:

此事例是在vue组件中,使用canvas实现倒计时动画的效果。其实,实现效果的逻辑跟vue没有关系,只要读懂canvas如何实现效果的这部分逻辑就可以了

canvas动画的原理:利用定时器,给定合理的帧数,不断的清除画布,再重绘图形,即呈现出动画效果。 

让我们先看下效果

  说明:此gif清晰度很低,因为转成gif图的时候,质量受损,帧数减少,所以倒计时转到红色时候看起来变的很模糊。但是实际在浏览器上效果全程都是很清晰和连贯的

vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)

使用

npm
 npm install vue-canvas-countdown --save-dev
es6 import
 import countDown from 'vue-canvas-countdown'

源码、demo、使用方法请参考github:https://github.com/Damon0820/vue-countdown

左手右手一个慢动作

说明:扇形颜色是渐变的(仔细看图:扇形逆时针方向渐变颜色,内侧浅,外侧深)

 vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)

vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)

vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)

动画步骤分析:假如设定倒计时总时间为15s, 变黄色时机为10s,变红色时机为5s。

1、开始倒计时后颜色为绿色。绿色含义是:倒计时的时间离结束时间还很长。

2、10s后变黄色。黄色的含义是:倒计时的时间离结束时间挺近了,起警告作用。动画中,出现快速旋转的扇形。

3、5s后变红色。红色的含义是:倒计时的时间马上就要结束了,起强烈警告作用。动画中,快速旋转的扇形速度加快。

4、0s倒计时结束。动画消失。静态圆形框中显示提示文字。

修炼js宝典,get canvas技能

    之前对于canvas一窍不通,网上查了资料,介绍api的时候过于简单,也不好理解,看别人写的示例代码,更是懵逼。而后,回归原始,修炼经典的《JavaScript高级程序设计》这本js宝典。书本二三十页的介绍canvas部分,系统的学习了一下。边看边写效果,20多页的书看完了,效果也写出来了。对于新手,我推荐找到系统介绍canvas的资料,先花一两个先熟悉下canvas的api,然后实现效果就是分分钟的事了

总结

以上所述是小编给大家介绍的vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用js得到网页中所有的div的id
Oct 19 Javascript
Json实现异步请求提交评论无需跳转其他页面
Oct 11 Javascript
javascript的函数作用域
Nov 12 Javascript
详细解读JavaScript编程中的Promise使用
Jul 27 Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 Javascript
Bootstrap 3 按钮标签实例代码
Feb 21 Javascript
原生JS实现不断变化的标签
May 22 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 Javascript
Vue.js实现tab切换效果
Jul 24 Javascript
vue2路由方式--嵌套路由实现方法分析
Mar 06 Javascript
JS async 函数的含义和用法实例总结
Apr 08 Javascript
webpack4从0搭建组件库的实现
Nov 29 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
Nov 05 #Javascript
基于Vue2实现简易的省市区县三级联动组件效果
Nov 05 #Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
Nov 05 #Javascript
vue router的基本使用和配置教程
Nov 05 #Javascript
微信小程序tabbar底部导航
Nov 05 #Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 #Javascript
浅谈vux之x-input使用以及源码解读
Nov 04 #Javascript
You might like
PHP函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
php数组指针操作详解
2017/02/14 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
es6函数之箭头函数用法实例详解
2020/04/25 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
pandas 数据类型转换的实现
2020/12/29 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
经济系大学生求职信
2013/10/01 职场文书
上党课的心得体会
2014/09/02 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏
Python OpenCV形态学运算示例详解
2022/04/07 Python
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android