基于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 相关文章推荐
JavaScript 用cloneNode方法克隆节点的代码
Oct 15 Javascript
javascript中注册和移除事件的4种方式
Mar 20 Javascript
JavaScript及jquey实现多个数组的合并操作
Sep 06 Javascript
jquery实现简洁文件上传表单样式
Nov 02 Javascript
javascript运算符语法全面概述
Jul 14 Javascript
如何在Angular2中使用jQuery及其插件的方法
Feb 09 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
微信小程序学习笔记之本地数据缓存功能详解
Mar 29 Javascript
JS实现处理时间,年月日,星期的公共方法示例
May 31 Javascript
js实现多个标题吸顶效果
Jan 08 Javascript
vue-cli —— 如何局部修改Element样式
Oct 22 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
基于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中实现简单的ACL 完结篇
2011/09/07 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
在Python中编写数据库模块的教程
2015/04/29 Python
批处理与python代码混合编程的方法
2016/05/19 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
python3实现表白神器
2019/04/09 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
Python爬取网页信息的示例
2020/09/24 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
一套英文Java笔试题面试题
2016/04/21 面试题
成功的酒店创业计划书
2013/12/27 职场文书
学员自我鉴定
2014/03/19 职场文书
党建目标管理责任书
2014/07/25 职场文书
学习退步检讨书
2014/09/28 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python
golang生成vcf通讯录格式文件详情
2022/03/25 Golang