jQuery Scheduler Plugin
by salitrapraveen
JavaScript
(function($) {
var tasks = [],
settings = {
sleep: undefined
},
methods = {
schedule: function(task) {
if ($.isFunction(task)) {
tasks.push(task);
}
else {
$.error('Parameter is not a function');
}
},
schedulerSetup: function(options) {
$.extend(settings, settings, options);
},
schedulerNext: function() {
var nextTask;
if (tasks.length > 0) {
nextTask = tasks.shift();
(settings.sleep) ? setTimeout(function() {
nextTask($.schedulerNext);
}, settings.sleep) : nextTask($.schedulerNext);
}
}
};
$.schedule = methods.schedule;
$.schedulerSetup = methods.schedulerSetup;
$.schedulerNext = methods.schedulerNext;
})(jQuery);
$(function(){
var i = 0, j;
for (j = 0; j < 5; j++) {
var k = j+5;
$.schedule(
(function(index1,index2){
return function(cb){
$.get('/echo/json', function(){
document.write('<p>' + (index1) + ',#'+(index2)+</p>');
cb();
});
}
})(j,k));
}
//$.schedulerSetup({sleep: 2000});
$.schedulerNext();
});