基于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 相关文章推荐
ASP SQL防注入的方法
Dec 25 Javascript
javascript 伪数组实现方法
Oct 11 Javascript
JS实现点击下载的小例子
Jul 10 Javascript
解析JavaScript中点号“.”的多义性
Dec 02 Javascript
深入学习jQuery Validate表单验证
Jan 18 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
Oct 30 Javascript
ionic3 懒加载
Aug 16 Javascript
浅谈react.js中实现tab吸顶效果的问题
Sep 06 Javascript
bootstrap实现二级下拉菜单效果
Nov 23 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
May 12 Javascript
微信小程序实现类似微信点击语音播放效果
Mar 30 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 cookies中删除的一般赋值方法
2011/05/07 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
基于python绘制科赫雪花
2018/06/22 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
python如何支持并发方法详解
2020/07/25 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
如何通过jdbc调用存储过程
2012/04/19 面试题
给分销商的致歉信
2014/01/14 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
国庆节标语大全
2014/10/08 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
征求意见函
2015/06/05 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫