今天给大家介绍一款基于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部分代码:
< >
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(\'倒计时结束的回调函数\')
}
}
}
</ >
属性选项
| 属性 | 类型 | 单位 | 默认值 | 备注 |
|---|---|---|---|---|
| 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: | [ ] | - | {text: \'倒计时\', color: \'#fff\'} | 倒计时进行时的静态文本内容和颜色(注意:color和text都得设置) |
| tipend: | [ ] | - | {text: \'END\', color: \'#fff\'} | 倒计时结束时的静态文本内容和颜色(注意:color和text都得设置) |
总结
以上所述是小编给大家介绍的基于vue2的canvas时钟倒计时组件步骤解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
继续阅读与本文标签相同的文章
下一篇 :
迪拜将推出数字化车牌
-
关注盲人群体 美团推出语音点外卖应用
2026-05-19栏目: 教程
-
卡特马克让制造走向“智造”,百年厨具品牌走向智能化
2026-05-19栏目: 教程
-
拼多多盘初涨逾2%,回应腾讯退出母公司股东行列为正常变化
2026-05-19栏目: 教程
-
Android 10在用户权限方面有何调整?现在真的更安全了吗?
2026-05-19栏目: 教程
-
Alex Kipman:视网膜投影技术将成为AR眼镜最佳代替方案
2026-05-19栏目: 教程
