diff --git a/jquery.isotope.js b/jquery.isotope.js index 7d5631c..ad10494 100644 --- a/jquery.isotope.js +++ b/jquery.isotope.js @@ -648,12 +648,25 @@ if ( this._isInserting && this.isUsingJQueryAnimation ) { // if using styleQueue to insert items + var animatedDeferreds = []; + processor = function( i, obj ) { // only animate if it not being inserted + var deferred = new $.Deferred(), + localAnimOpts = $.extend(true, {}, animOpts, { + complete: function () { + deferred.resolve(); + } + }) objStyleFn = obj.$el.hasClass('no-transition') ? 'css' : styleFn; - obj.$el[ objStyleFn ]( obj.style, animOpts ); + obj.$el[ objStyleFn ]( obj.style, localAnimOpts ); + animatedDeferreds.push(deferred); }; + $.when.apply($, animatedDeferreds).then(function () { + callback && callback(); + }); + } else if ( callback || onLayout || animOpts.complete ) { // has callback var isCallbackTriggered = false, @@ -1404,4 +1417,4 @@ return this; }; -})( window, jQuery ); \ No newline at end of file +})( window, jQuery );