Minimal javascript library to create and manage timers
NOTE: Depends on window.requestAnimationFrame
. If your environment does not support it, you can polyfill.
$ npm install @georapbox/timer --save
The library is exported in UMD, CommonJS, and ESM formats. You can import it the following ways:
import Timer from '@georapbox/timer';
const Timer = require('@georapbox/timer');
<script src="https://unpkg.com/@georapbox/timer/dist/Timer.umd.min.js"></script>
- Timer
- new Timer(elapsedTime, duration, [callback])
- .time() ⇒
Object
- .start() ⇒
Timer
- .stop() ⇒
Timer
- .reset() ⇒
Timer
- .isRunning() ⇒
Boolean
Timer constructor: Creates a new Timer instance.
Throws:
TypeError
Ifduration
is not a number orNaN
.TypeError
IfelapsedTime
is not a number orNaN
.
Param | Type | Description |
---|---|---|
elapsedTime | Number |
The time that has elapsed in milliseconds. If a negative number provided, it will become 0 . If a number greater than duration is provided, it will become equal to duration . |
duration | Number |
The timer's duration in milliseconds. If a negative number provided, it will become 0 . |
[callback] | function |
Function to be executed while timer is running. The Timer instance is passed by as parameter. |
Get the remaining and elapsed time.
Kind: instance method of Timer
Returns: Object
- An object literal that contains the remaining and the elapsed time in milliseconds.
timer.start() ⇒ Timer
Starts the timer. If the timer instance has been already started, the timer will just resume.
Kind: instance method of Timer
Returns: Timer
- The Timer instance.
timer.stop() ⇒ Timer
Stops/Pauses the timer.
Kind: instance method of Timer
Returns: Timer
- The Timer instance.
timer.reset() ⇒ Timer
Resets the timer to its initial state.
Kind: instance method of Timer
Returns: Timer
- The Timer instance.
Checks (at any time) if the timer is running or not.
Kind: instance method of Timer
Returns: Boolean
- true
if the timer is running; otherwise false
.