A simple, lightweight jQuery plugin for timer management
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
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



A simple, lightweight jQuery plugin for timer management.


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

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


Create timer:

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

Get timer:


Start/pause/resume/stop timer:


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);


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.


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.


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".


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


Igor Rzegocki