[EDIT]
Вот рабочий класс, который использует концепции, изложенные ниже:
https://github.com/stratboy/image-preloader
Это просто последовательный предзагрузчик изображений. Вы можете подписаться на кучу событий. Посмотри.
[/ EDIT]
Старый пост:
Вот еще один базовый пример с обратными вызовами, подобными предложенным Химаншу П.
Я создаю класс и пришел из Mootools, где такие вещи, как классы и пользовательские события, напрямую реализуемые в классах (не привязанные к элементам DOM), абсолютно естественны. Поэтому я попробовал что-то вроде обходного пути и поделился ниже.
var step_slider;
//sandbox
;(function($) {
//constructor
var StepSlider = function(slider_mask_selector,options) {
//this.onStep = $.Event('step');
this.options = null;
this.onstep = $.Callbacks();
this.init();
}//end constructor
StepSlider.prototype = {
init:function(){
this.set_events();
},//end init
set_events:function(){
if(this.options){
if(this.options.onstep){
this.subscribe('step',options.onstep);
}
}
},//set_events
subscribe:function(event,action){
this['on'+event].add(action);
},
fire_onstep:function(){
this.onstep.fire({ data1:'ok' });
}
}//end prototype/class
//--------------------
$(document).ready(function() {
step_slider = new StepSlider('selector');
//for example, say that you have a div#next-button, you can then do this:
$('#next-button').click(function(){
step_slider.fire_onstep();
});
});//end domready
})(jQuery);