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 相关文章推荐
Javascript 类与静态类的实现
Apr 01 Javascript
jQuery性能优化的38个建议
Mar 04 Javascript
jQuery常用数据处理方法小结
Feb 20 Javascript
jQuery Validate验证框架经典大全
Sep 23 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
Nov 16 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
JavaScript实现审核流程状态的动态显示进度条
Mar 15 Javascript
vue devtools的安装与使用教程
Aug 08 Javascript
微信小程序开发之自定义tabBar的实现
Sep 06 Javascript
Angular事件之不同组件间传递数据的方法
Nov 15 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
Dec 05 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
Mar 27 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结合表单实现一些简单功能的例子
2011/06/04 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
js Dialog 实践分享
2012/10/22 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
Python pandas库中的isnull()详解
2019/12/26 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
2014年关于两会精神的心得体会
2014/03/17 职场文书
竞赛口号大全
2014/06/16 职场文书
个人融资协议书
2014/10/02 职场文书
成本会计实训报告
2014/11/05 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
在校生证明
2015/06/17 职场文书
婚礼领导致辞大全
2015/07/28 职场文书