jQuery-Chrono

by avk

Syntactic sugar for JavaScript's setTimeout() and setInterval()

201 Stars 44 Forks Last release: Not found BSD 3-Clause "New" or "Revised" License 54 Commits 3 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

jQuery Chrono plugin (version 1.2)

jQuery Chrono provides syntactic sugar around JavaScript's native

setTimeout
and
setInterval
functions.

To execute some code in 5 minutes, instead of writing:

    setTimeout(function() { ... }, 300000); // how many zeros is that?

or the slightly more readable:

    setTimeout(function() { ... }, 5 * 60 * 1000); // 5... (multiplies in head) min

now you can just write:

    $.after(5, "minutes", function() { ... }); // :)

setTimeout
becomes
$.after
and
setInterval
becomes
$.every
.

If you don't have jQuery, you can use the aliases

jQueryChrono.every
and
jQueryChrono.after
.

Usage

These are all valid calls:

    $.after(100, function() { ... });           // 100 milliseconds
    $.after("9.7", function() { ... });         // 9.7 milliseconds
    $.after("50sec", function() { ... });       // 50 seconds
    $.after("1 minute", function() { ... });       // 1 minute
    $.after(7, "mins", function() { ... });     // 7 minutes
    $.after("33", "hours", function() { ... }); // 33 hours
    $.after("minute", function() { ... });      // 1 minute
    $.after("1 hour, 2 minutes, 15 seconds", function() { ... }); // 1:02:15 hours
    $.after("1min, 15 s", function() { ... }); // 1:15 minutes

$.every
, for creating intervals, has the same exact syntax as
$.after
.

Valid time units include:

  • millisecond (default)

  • second

  • minute

  • hour

  • day

along with all their common abbreviations and pluralizations.

jQuery Version

This project works with jQuery 1.4+ (see test/test.html) but as of version 1.2, also works without jQuery.

Contributing

  • Add relevant QUnit tests and make sure all existing tests pass (in test/tests.js)

  • Update the JsDoc (doc/) with:

java -jar tools/jsdoc-toolkit/jsrun.jar tools/jsdoc-toolkit/app/run.js -a -t=tools/jsdoc-toolkit/templates/jsdoc/ -d=doc/ lib/jquery.chrono.js

  • Update the minified file (lib/jquery.chrono.min.js) with:

java -jar tools/yuicompressor-2.4.6/build/yuicompressor-2.4.6.jar -o lib/jquery.chrono.min.js lib/jquery.chrono.js

Meta

Licensed under the 3-clause BSD license (BSDLICENSE.txt)_

Copyright (c) 2011, Arthur Klepchukov (at gmail)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.