UNPKG

@js-plus/count-down

Version:
66 lines (60 loc) 2.03 kB
export declare type ClearInterval = (intervalId: any) => void; /** * 定义倒计时Countdown类 * * 可以用于各种倒计时场景 */ declare class Countdown { timeLeft: number; timers: any[]; startTime: Date; endTime: Date; endHooks: EndHook[]; intervalHooks: IntervalHook[]; clearInterval: ClearInterval; setInterval: (callback: (...args: any[]) => void, ms?: number, ...args: any[]) => void; /** * 实例化一个倒时器 * @param timeLeft 剩余时间 * @param intervalHook * @param endHook */ constructor(timeLeft?: number, intervalHook?: IntervalHook, endHook?: EndHook); /** * 设置剩余时间 * * @param timeLeft 剩余时间 */ setTimeLeft(timeLeft: number): void; /** * 如果传入的是数组,将每一秒要执行的回调函数push进该数组 * * @param intervalHook 间隔回调钩子 */ addIntervalHook(intervalHook: IntervalHook): void; /** * 生成倒计时结束数组,将倒计时结束的回调函数push进该数组 * */ addEndHook(endHook: EndHook): void; /** * 强制检测剩余时间,同时触发 * * @param isEmitHook 是否触发间隔回调钩子 */ checkTime(isEmitHook: boolean): void; /** * 判断是否结束 * @returns 是否结束 */ isEnd(): boolean; clearTime(): void; private clearTimeRun; private clearIntervals; private run; } export { Countdown } export default Countdown; export declare type EndHook = ((countdown: Countdown) => void) | ((this: Countdown, countdown: Countdown) => void); export declare type IntervalHook = ((timeLeft: number, isEnd: boolean, countdown: Countdown) => void) | ((this: Countdown, timeLeft: number, isEnd: boolean, countdown: Countdown) => void); export declare type SetInterval = (callback: (...args: any[]) => void, ms?: number, ...args: any[]) => void; export { }