基于vue2的canvas时钟倒计时组件步骤解析


Posted in Javascript onNovember 05, 2018

今天给大家介绍一款基于vue2的canvas时钟倒计时组件,这个时钟倒计时组件采用canvas动画的炫酷动画效果形式,根据剩余时间的多少变换颜色和旋转扇形的速度,适合抢购、拍卖、下注等业务场景,且对移动端友好。

具体步骤分析:

假如设定倒计时总时间为15s, 变黄色时机为10s,变红色时机为5s。

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

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

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

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

安装

我们使用npm安装。

npm install vue-canvas-countdown --save-dev

使用

首先在模板文件中加入组件信息。

<template>
 <div id="app" @click="fireCD">
  <div class="demo">
   <countDown 
    :fire="fire"
    time="15"
    :tiping="tiping"
    :tipend="tipend"
    @onEnd="onEnd"/>
   </div>
 </div>
</template>

然后加入js部分代码:

<script>

import countDown from 'vue-canvas-countdown'
export default {
 name: 'App',
 components: {
  countDown
 },
 data () {
  return {
   fire: 0,
   tiping: {
    text: '倒计时进行中',
    color: '#fff'
   },
   tipend: {
    text: '倒计时结束',
    color: '#fff'
   }
  }
 },
 methods: {
  fireCD () {
   // 配置参数(更多配置如下表)
   this.tiping = {
    text: '请下注',
    color: '#fff'
   }
   this.tipend = {
    text: '停止下注',
    color: '#fff'
   }

   // 启动倒计时(效果如上图所示)   
   this.fire++ 
  },
  onEnd () {
   console.log('倒计时结束的回调函数')
  }
 }
}
</script>

属性选项

属性 类型 单位 默认值 备注
fire: [Number] - 200 必选,在父组件this.fire++ 即可启动倒计时
width,height: [Number] px 200 200 设置宽高
bgCir: [String] - rgba(0, 0, 0, .6) 倒计时圆盘背景颜色
time: [Number] 秒/s 15 倒计时所用
statusChange: [Array] 毫秒/ms [10000, 500] 倒计时状态改变的时机/时间点(绿=>黄=>红)
tiping: [Object] - {text: '倒计时', color: '#fff'} 倒计时进行时的静态文本内容和颜色(注意:color和text都得设置)
tipend: [Object] - {text: 'END', color: '#fff'} 倒计时结束时的静态文本内容和颜色(注意:color和text都得设置)

总结

以上所述是小编给大家介绍的基于vue2的canvas时钟倒计时组件步骤解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
firefox浏览器下javascript 拖动层效果与原理分析代码
Dec 04 Javascript
js工具方法弹出蒙版
May 08 Javascript
JavaScript版的TwoQueues缓存模型
Dec 29 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
Jul 26 Javascript
vue.js单文件组件中非父子组件的传值实例
Sep 13 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
Sep 13 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
Sep 21 Javascript
详解element-ui中表单验证的三种方式
Sep 18 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
Dec 29 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
Jan 21 Javascript
Vue父组件向子组件传值以及data和props的区别详解
Mar 02 Javascript
vue中v-model对select的绑定操作
Aug 31 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
小程序实现选择题选择效果
Nov 04 #Javascript
You might like
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
php简单生成随机数的方法
2015/07/30 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
vue实现购物车加减
2020/05/30 Javascript
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
百度JavaScript笔试题
2015/01/15 面试题
入党转预备思想汇报
2014/01/07 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
2015中秋祝酒词
2015/08/12 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript
一篇文章弄懂Python中的内建函数
2021/08/07 Python
mysql sql常用语句大全
2022/06/21 MySQL