基于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 不只是脚本
May 30 Javascript
Javascript string 扩展库代码
Apr 09 Javascript
js判断生效时间不得大于失效时间的思路及代码
Apr 23 Javascript
js改变鼠标的形状和样式的方法
Mar 31 Javascript
js中string转int把String类型转化成int类型
Aug 13 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
Mar 24 Javascript
javascript制作游戏开发碰撞检测的封装代码
Mar 31 Javascript
javascript实现倒计时跳转页面
Jan 17 Javascript
详解AngularJS 路由 resolve用法
Apr 24 Javascript
json2.js 入门教程之使用方法与实例分析
Sep 14 Javascript
vue实现文件上传读取及下载功能
Nov 17 Javascript
Postman参数化实现过程及原理解析
Aug 13 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实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
PHP Socket 编程
2010/04/09 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
深入PHP获取随机数字和字母的方法详解
2013/06/06 PHP
yii框架无限极分类的实现方法
2017/04/08 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
javascript 显示当前系统时间代码
2009/12/28 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
python使用cookie库操保存cookie详解
2014/03/03 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
函授本科自我鉴定
2014/02/04 职场文书
创新比赛获奖感言
2014/02/13 职场文书
财务总监管理职责范文
2014/03/09 职场文书
房地产广告策划方案
2014/05/15 职场文书
企业员工集体活动方案
2014/08/17 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python