I am stuck in this code:
reload: function() { var self = this; $.when(self.unload()).then(function() { self.load(); }); }, load: function() { var self = this; $.ajax({ url: self.options.url, success: function(data) { $.Deferred( function(dfr) { $.each(data, function() { var div = $('<div></div>') .addClass('nw-item') .html('newsitem.ejs', this) .hide() .appendTo(self.element); dfr = dfr.pipe(function() { return div.slideDown(self.options.speed); }); }); }).resolve(); } }) }, unload: function() { var items = this.element.children('.nw-item').reverse(), self = this, udfd = $.Deferred( function(dfr) { $.each(items, function() { var div = $(this); dfr = dfr.pipe(function() { return div.slideUp(self.options.speed); }); }); }).resolve(); return udfd; } in "reload" I need to start "load" sequence after "unload" sequence is completed, but it starts right after first iteration of "unload" sequence element becomes hidden. Help me please, I'm stuck(