更新记录

v-1.1(2022-07-02) 下载此版本

添加hour、minute、second等属性,实现动态赋值

v-1.0(2022-04-12) 下载此版本

上架,可以广泛使用


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

bing-countup

![github]

一个轻量级计时器插件

安装方式

本组件符合easycom规范,HBuilderX 2.5.5起,只需将本组件导入项目,在页面template中即可直接使用,无需在页面中import和注册components

示例

template 中使用组件

<template>
    <view class="container">
        <!-- 一般用法 -->
        <bing-countup />

        <!-- 一般用法 设置时间-->
        <bing-countup :hour="1" :minute="12" :second="40" />

        <!-- 不显示小时 设置 show-hour = false 不显示小时 -->
        <bing-countup :show-hour="false" :hour="1" :minute="12" :second="12" />

        <!-- 文字分隔符 设置 show-colon 属性设置分隔符样式-->
        <bing-countup :show-colon="false" />

        <!-- 修改颜色 设置 color \ background 属性设置组件颜色-->
        <bing-countup color="#FFFFFF" background-color="#007AFF" />

        <!-- 修改字体大小 设置 font-size 属性设置组件大小-->
        <bing-countup :font-size="30" />
        <!-- 修改颜色 + 字体大小 -->

        <bing-countup :font-size="30" color="#FFFFFF" background-color="#007AFF" />
        <!-- 自由控制开始/暂停 设置 auto-start 属性控制是否自动开启-->

        <bing-countup :auto-start="false" />

        <!-- 倒计时回调事件  autostart 使用默认值 :auto-start="true" 重置计时器立即开始 ->
        <!-- :auto-start="false" 重置计时器,等再点击开始的时候,计时器开始-->
        <!-- :show-hour="false" 不显示小时 -->
        <bing-countup ref="countUp"  :show-hour="false" @change="onChange" />
        <view style="display: flex;">
            <button type="primary" size="mini" @click="reset">重置</button>
            <button type="primary" size="mini" @click="start">开始</button>
            <button type="primary" size="mini" @click="pause">暂停</button>
        </view>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                timeData: {},
            }
        },
        methods: {
            //开始
            start() {
                this.$refs.countUp.start();
            },
            // 暂停
            pause() {
                this.$refs.countUp.pause();
            },
            // 重置
            reset() {
                this.$refs.countUp.reset();
            },
            onChange(e) {
                this.timeData = e;
                //console.log(e);
            }
        }
    }
</script>

如果需要引用,可以使用以下方式

<script>
    import BingCountup from "@/components/bing-countup/bing-countup.vue"
    export default {
        components: {
            'bing-countup': BingCountup
        }
    }
</script>

注: 为确认是否启用bing-countup组件及事件,默认有一些console.log()提示,如果不需要提示,可以打开bing-countup.vue把所有的console.log()提示信息都删了。

API

bing-countup @property

属性名 类型 默认值 说明
backgroundColor String ' ' 背景色
color String '#333' 文字颜色
splitorColor String '#333' 分割符号颜色
fontSize Number 14 文字大小
hour Number 0 小时
minute Number 0 分钟
second Number 0
showHour Boolean true 是否显示小时,默认是
showColon Boolean true 是否以冒号为分隔符,默认是
autoStart Boolean true 是否自动开始倒计时 ,默认是

bing-countup @event

事件名 说明 返回值
@change 倒计时变化时触发 Object
{
"hour": hour,
"minute": minute,
"second": second,
"seconds": seconds
}
@start 开始倒计时(refs方式调用)
@pause 暂停倒计时(refs方式调用)
@reset 重置倒计时(refs方式调用)

鸣谢

开发做题系统,没有一款满意的计时器组件,一般来说,都是倒计时组件,本来想引用smh-timer这个组件,但是不显示小时,在此和u-count-down基础上开发出来的,有什么问题希望大家留言~,若有时间,会整合一下,倒计时,这样倒计时和计时器一个组件就可以了

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问