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 事件小结 表格区别
Aug 13 Javascript
基于jquery的$.ajax async使用
Oct 19 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
Aug 11 Javascript
JS时间特效最常用的三款
Aug 19 Javascript
jquery实现的简单二级菜单效果代码
Sep 22 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
Aug 31 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
Oct 25 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
Mar 23 Javascript
js获取form表单中name属性的值
Feb 27 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
Vue extend的基本用法(实例详解)
Dec 09 Javascript
Vue实现剪贴板复制功能
Dec 31 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类的反射用法实例
2014/11/03 PHP
php字符串函数学习之substr()
2015/03/27 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
vue生成随机验证码的示例代码
2017/09/29 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
python自动格式化json文件的方法
2015/03/11 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
详解python pandas 分组统计的方法
2019/07/30 Python
Python高并发和多线程有什么关系
2020/11/14 Python
GMP办公室主任岗位职责
2014/03/14 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
暖春观后感
2015/06/08 职场文书
初中美术教学反思
2016/02/17 职场文书
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android