zoukankan      html  css  js  c++  java
  • vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)

    前言:

      此事例是在vue组件中,使用canvas实现倒计时动画的效果。其实,实现效果的逻辑跟vue没有关系,只要读懂canvas如何实现效果的这部分逻辑就可以了
      canvas动画的原理:利用定时器,给定合理的帧数,不断的清除画布,再重绘图形,即呈现出动画效果。 

    让我们先看下效果

      说明:此gif清晰度很低,因为转成gif图的时候,质量受损,帧数减少,所以倒计时转到红色时候看起来变的很模糊。但是实际在浏览器上效果全程都是很清晰和连贯的
    
    

          

    使用

    npm
      npm install vue-canvas-countdown --save-dev
    es6 import
      import countDown from 'vue-canvas-countdown'
    源码、demo、使用方法请参考github:https://github.com/Damon0820/vue-countdown

    左手右手一个慢动作

      说明:扇形颜色是渐变的(仔细看图:扇形逆时针方向渐变颜色,内侧浅,外侧深)

                

       动画步骤分析:假如设定倒计时总时间为15s, 变黄色时机为10s,变红色时机为5s。

      1、开始倒计时后颜色为绿色。绿色含义是:倒计时的时间离结束时间还很长。

      2、10s后变黄色。黄色的含义是:倒计时的时间离结束时间挺近了,起警告作用。动画中,出现快速旋转的扇形。

      3、5s后变红色。红色的含义是:倒计时的时间马上就要结束了,起强烈警告作用。动画中,快速旋转的扇形速度加快。

      4、0s倒计时结束。动画消失。静态圆形框中显示提示文字。

    修炼js宝典,get canvas技能

        之前对于canvas一窍不通,网上查了资料,介绍api的时候过于简单,也不好理解,看别人写的示例代码,更是懵逼。而后,回归原始,修炼经典的《JavaScript高级程序设计》这本js宝典。书本二三十页的介绍canvas部分,系统的学习了一下。边看边写效果,20多页的书看完了,效果也写出来了。对于新手,我推荐找到系统介绍canvas的资料,先花一两个先熟悉下canvas的api,然后实现效果就是分分钟的事了

  • 相关阅读:
    JVM运行参数优化详细教程
    idea 代码热启动配置方法
    Spring MVC拦截器完整代码示例
    Spring MVC异常处理代码完整实例
    Python3基础语法(20190617)
    Java代码生成器Easy Code
    Mybatis @Many注解一对多关联映射
    Mybatis @One注解使用
    Mybatis @ResultMap复用@Result
    Mybatis @Result注解的使用案例
  • 原文地址:https://www.cnblogs.com/damonFeng/p/7882048.html
Copyright © 2011-2022 走看看