前言:
在这种情况下,在vue组件中,使用canvas实现倒计时动画。事实上,实现效果的逻辑与vue无关,只需阅读canvas如何实现效果的这部分逻辑即可
画布动画的原理:使用定时器,给出合理的帧数,不断的清理画布,然后重新绘制形状,表现出动画效果。
我们先来看看效果
注意:这个gif的清晰度很低,因为转换成gif的时候质量受损,帧数减少,所以倒计时变成红色的时候看起来很模糊。但事实上,在整个过程中,对浏览器的影响是非常清晰和连贯的
使用
NPM NPM安装vue-canvas-倒计时-保存-开发6导入导入倒计时从' vue-canvas-倒计时'的源代码,演示,和使用方法,请参考GitHub:https://github.com/Damon0820/vue-countdown
左手和右手做慢动作
注:扇形颜色是渐变的(仔细看:扇形颜色逆时针渐变,内浅外深)
动画步骤分析:如果总倒计时时间设置为15s,转黄时间为10s,转红时间为5s。
1.倒计时开始后颜色为绿色。绿色表示倒计时时间距离结束时间还很远。
2.10秒后变成黄色。黄色表示倒计时时间相当接近结束时间,起到警示作用。在动画中,有一个快速旋转的风扇。
3.5s后变红。红色意味着倒计时即将结束,这是一个强烈的警告。在动画中,快速旋转风扇的速度加快。
4.0s倒计时结束。动画消失。在静态圆形框中显示提示文本。
练习js宝典,获得画布技巧
我以前对画布一无所知。我查了网上的资料,介绍api的时候,太简单了,很难理解。阅读他人编写的示例代码甚至更加困难。然后,回归原著,培养经典js Collection 《JavaScript高级程序设计》。书中二三十页介绍画布,并系统研究。边读边写效果,20多页的书都写完了,效果也写好了。对于新手,我推荐查找canvas的系统介绍信息。熟悉canvas的api需要一到两个小时,然后需要几分钟才能达到效果
摘要
以上是边肖介绍的vue canvas实现酷时钟效果的倒计时插件(vue2插件已经发布到npm,随时可以使用),希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!