browser-timer
자바스크립트로 작성한 카운트다운 타이머, 타이머 라이브러리 입니다.
Installation
npm i browser-timer
import Timer from 'browser-timer';
const timer = new Timer({ type: 'countdown' });
timer.setSeconds(10);
timer.start();
API Document
1. Countdown timer options
interface TimerOptions {
type: 'countdown' | 'timer';
seconds?: number;
}
2. Countdown timer methods
How to use all methods
const timer = new Timer({ ...timerOptions });
timer.methods();
Generals
start(): void
pause(): void
stop(): void
reset(second?: number): void
EventMethods
addEventListener(eventName: EventName, listener: Function);
removeEventListener(eventName: EventName, listener: Function);
removeListenerAll(eventName?: EventName);
Getters and Setters
setSeconds(seconds: number): void;
getSeconds(): number
getTenthsSeconds(): number
getHundredthsSeconds(): number
getMilliseconds(): number
3. Countdown timer events
timer.addEventListener(EventName, callback);
'secondsUpdated'
'tenthsSecondsUpdated'
'hundredthsSecondsUpdated'
'millisecondsUpdated'
'finish'
'pause'
'stop'
'reset'
Examples (stackblitz)
import Timer from 'browser-timer';
const countdownTimer = new Timer({ type: 'countdown' });
countdownTimer.addEventListener('finish', () => {
alert('countdown is done!');
});
document.getElementById('start').addEventListener('click', () => {
countdownTimer.setSeconds(5);
countdownTimer.start();
});
import Timer from 'browser-timer';
const countdownTimer = new Timer({ type: 'countdown' });
const sec = document.getElementById('sec');
const ms = document.getElementById('ms');
countdownTimer.addEventListener('finish', () => {
document.getElementById('timeSpace').style.color = 'red';
});
countdownTimer.addEventListener('secondsUpdated', () => {
sec.innerHTML = countdownTimer.getSeconds().toString();
});
countdownTimer.addEventListener('hundredthsSecondsUpdated', () => {
ms.innerHTML = countdownTimer.getHundredthsSeconds().toString();
});
document.getElementById('start').addEventListener('click', () => {
countdownTimer.setSeconds(5);
countdownTimer.start();
(document.getElementById('pause') as HTMLButtonElement).disabled = false;
document.getElementById('timeSpace').style.color = 'black';
});
document.getElementById('pause').addEventListener('click', () => {
(document.getElementById('start2') as HTMLButtonElement).disabled = false;
countdownTimer.pause();
});
document.getElementById('start2').addEventListener('click', () => {
countdownTimer.start();
});
document.getElementById('stop').addEventListener('click', () => {
countdownTimer.stop();
});
document.getElementById('reset').addEventListener('click', () => {
countdownTimer.reset(10);
ms.innerHTML = '00';
});
import Timer from 'browser-timer';
const countdownTimer = new Timer({ type: 'countdown' });
const timeSpace = document.getElementById('timeSpace');
countdownTimer.addEventListener('finish', () => {
alert('countdown is done!');
});
countdownTimer.addEventListener('secondsUpdated', () => {
timeSpace.innerHTML = countdownTimer.getSeconds().toString();
});
document.getElementById('start').addEventListener('click', () => {
countdownTimer.setSeconds(5);
countdownTimer.start();
});
import Timer from 'browser-timer';
const countdownTimer = new Timer({ type: 'countdown' });
const sec = document.getElementById('sec');
const ms = document.getElementById('ms');
countdownTimer.addEventListener('secondsUpdated', () => {
sec.innerHTML = countdownTimer.getSeconds().toString();
});
countdownTimer.addEventListener('millisecondsUpdated', () => {
ms.innerHTML = countdownTimer.getMilliseconds().toString();
});
document.getElementById('start').addEventListener('click', () => {
countdownTimer.setSeconds(5);
countdownTimer.start();
});
License
This project is licensed under the MIT License - see the LICENSE file for details