Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vue-canvas-countdown

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-canvas-countdown

A Vue.js component (canvas实现类似时钟的倒计时效果)

  • 1.0.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

vue-countdown downloads downloads

a cool && nice countdown timer component (canvas used) for vue2.x

vue + canvas实现炫酷时钟倒计时效果的vue插件。移动端友好。

show result 效果展示

效果图gif展示

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

Damon风

运动过程的高清截图展示

说明:由于git图清晰度低,辅助用以下几张高清截图展示效果


Damon风 Damon风 Damon风
Damon风的blog地址

动画步骤分析:假如设定倒计时总时间为15s, 变黄色时机为10s,变红色时机为5s。
  1. 开始倒计时后颜色为绿色。绿色含义是:倒计时的时间离结束时间还很长。
  2. 10s后变黄色。黄色的含义是:倒计时的时间离结束时间挺近了,第一次加速,起警告作用。动画中,出现快速旋转的扇形。
  3. 5s后变红色。红色的含义是:倒计时的时间马上就要结束了,第二次加速,起强烈警告作用。动画中,快速旋转的扇形速度加快。
  4. 0s倒计时结束。动画消失。静态圆形框中显示提示文字。

Installation

npm 下载

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

import 引入

es6
import countDown from 'vue-canvas-countdown'
commonjs
const countDown = require('vue-canvas-countdown')

Usage 使用方法

<template>
  <div id="app" @click="fireCD">
    <div class="demo">
      <countDown 
        ref="countDown"
        :fire="fire"
        time="15"
        :tiping="tiping"
        :tipend="tipend"
        @onStatusChange="onStatusChange"
        @onEnd="onEnd"/>
     </div>
  </div>
</template>
<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.$refs.countDown.startCd()方式 启动倒计时
      this.fire++ 
    },
    onStatusChange (payload) {
      console.log('倒计时状态改变:', payload)
    },
    onEnd () {
      console.log('倒计时结束的回调函数')
    }
  }
}
</script>

Props 参数

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

Method 事件

事件名方法说明参数说明
onStatusChange:倒计时状态的变化:从开启->第一次加快->第二次加快->结束
(使用场景:例如给倒计时在不同状态添加音效)
0倒计时未启动/结束, 1开始倒计时, 2倒计时第一次加快, 3倒计时第二次加快
onEnd:倒计时结束等价于 onStatusChange事件0的状态

Describe 说明

welcome your issue and PR

FAQs

Package last updated on 31 Dec 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc