A simple, lightweight jQuery plugin for timer management
JavaScript
Switch branches/tags
Nothing to show
Clone or download
ajgon Merge pull request #2 from UnrulyNatives/patch-1
Update README.md - time must be given in miliseconds
Latest commit 301c7d2 Apr 14, 2016
Permalink
Failed to load latest commit information.
README.md Update README.md Apr 14, 2016
jquery.timer.js timer intervals and timeouts in milliseconds Mar 14, 2013

README.md

jquery.timer

A simple, lightweight jQuery plugin for timer management.

Installation

Include script after the jQuery library (unless you are packaging scripts somehow else):

<script src="/path/to/jquery.timer.js"></script>

Usage

Create timer:

$.timer('my_timer', function() { /* my Callback Code */ }, 10);

Get timer:

$.timer('my_timer');

Start/pause/resume/stop timer:

$.timer('my_timer').start();
$.timer('my_timer').pause();
$.timer('my_timer').resume();
$.timer('my_timer').stop();

Get timer status:

$.timer('my_timer').status(); // => "stopped"

Return timers list:

$.timer(); // => ["my_timer"]

Delete timer:

$.timer('my_timer', null);

Create timer with 1 second interval and working 1 minute

$.timer('other_timer', function() { /* my Callback Code */ }, 1000, {timeout: 60000});

Function definition:

$.timer(name, callback, interval, options);

Parameters

name: <mandatory>

Defines a unique name of a timer. It has to start from a letter and contain only letters, numbers or underscore characters.

callback: <mandatory>

A callback function which will be passed to setTimeout/setInterval function.

interval: <mandatory>

Interval (in milliseconds) after which callback should be invoked.

options: {}

Hash of additional options for Timer class.

Options

useSetTimeout: false

If set to true JS setTimeout() function will be used instead of setInterval(). This is not recommended, consider using "timeout" option.

timeout: false

If set to integer, timer function will stop after specified milliseconds.

startCallback/pauseCallback/resumeCallback/stopCallback: function() {}

Callbacks called after corresponding actions are finished.

finishCallback: function() {}

Callback working only with "timeout" option. It is called when timer is finished.

Methods

start(); // $.timer('name').start()

Starts timer

pause(); // $.timer('name').pause();

Pauses timer

resume(fullFrame = false); // $.timer('name').resume();

Resumes timer. It takes into consideration the time of the cycle when timer was paused. So for example - if you set your timer to 10 seconds, and then paused it after 6 - resume will invoke next callback after 4 seconds. Pass fullFrame = true, to avoid this and use default period of time.

stop(); // $.timer('name').stop();

Stops timer. Also fires finishCallback() if timeout option is set.

kill(); // $.timer('name').kill();

Similiar to stop(), but no callbacks are called.

status(); // $.timer('name').status();

Returns status of the timer. Available responses are "stopped", "paused", "running" and "finished".

Development

Pull requests are very welcome! Make sure your patches are well tested.

Authors

Igor Rzegocki