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实现无刷新更新数据的详细步骤 asp
Dec 26 Javascript
用JavaScript页面不刷新时全选择,全删除(GridView)
Apr 14 Javascript
jquery插件开发之实现md5插件
Mar 17 Javascript
js动态修改整个页面样式达到换肤效果
May 23 Javascript
JavaScript实现将文本框的值插入指定位置的方法
Aug 13 Javascript
js实现向右横向滑出的二级菜单效果
Aug 27 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
Mar 11 Javascript
js阻止浏览器默认行为的简单实例
May 15 Javascript
Vue Router去掉url中默认的锚点#
Aug 01 Javascript
bootstrap-table+treegrid实现树形表格
Jul 26 Javascript
Vue+element+cookie记住密码功能的简单实现方法
Sep 20 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 Vue.js
基于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获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
JS闭包的几种常见形式实例详解
2017/09/16 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
python实现统计代码行数的方法
2015/05/22 Python
Python实现的Excel文件读写类
2015/07/30 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
django 模版关闭转义方式
2020/05/14 Python
PyQt5实现登录页面
2020/05/30 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
德国旅游网站:weg.de
2018/06/03 全球购物
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
经贸日语专业个人求职信范文
2013/12/28 职场文书
大学生毕业的自我评价分享
2014/01/02 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
三字经教学反思
2014/04/26 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
关于工作经历的证明书
2014/10/11 职场文书
三峡大坝导游词
2015/01/31 职场文书
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL