Syntactic sugar for JavaScript's setTimeout() and setInterval()
jQuery Chrono provides syntactic sugar around JavaScript's native
setTimeoutand
setIntervalfunctions.
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() { ... }); // :)
setTimeoutbecomes
$.afterand
setIntervalbecomes
$.every.
If you don't have jQuery, you can use the aliases
jQueryChrono.everyand
jQueryChrono.after.
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.
This project works with jQuery 1.4+ (see test/test.html) but as of version 1.2, also works without jQuery.
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
java -jar tools/yuicompressor-2.4.6/build/yuicompressor-2.4.6.jar -o lib/jquery.chrono.min.js lib/jquery.chrono.js
Licensed under the 3-clause BSD license (BSDLICENSE.txt)_
Copyright (c) 2011, Arthur Klepchukov (at gmail)