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 相关文章推荐
document 和 document.all 分别什么时候用
Jun 22 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
May 07 Javascript
AngularJS 避繁就简的路由
Jul 01 Javascript
js实现上传文件添加和删除文件选择框
Oct 24 Javascript
Node.js中路径处理模块path详解
Nov 14 Javascript
谈谈Vue.js——vue-resource全攻略
Jan 16 Javascript
Vue-Router实现组件间跳转的三种方法
Nov 07 Javascript
node跨域转发 express+http-proxy-middleware的使用
May 31 Javascript
vue中子组件的methods中获取到props中的值方法
Aug 27 Javascript
gulp构建小程序的方法步骤
May 31 Javascript
js实现简单抽奖功能
Nov 24 Javascript
vue 封装面包屑组件教程
Nov 16 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读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
React实现阿里云OSS上传文件的示例
2020/08/10 Javascript
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
使用Keras实现Tensor的相乘和相加代码
2020/06/18 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
幼儿园园长自我鉴定
2013/10/22 职场文书
二手书店创业计划书
2014/01/16 职场文书
留学推荐信怎么写
2014/01/25 职场文书
运动会入场解说词300字
2014/01/25 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
校运会新闻稿
2015/07/17 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android