UPDATED: jsFiddle
(function($) { $('.box').hover(function() { $this = $(this), $oC = $this.find('.oldContent'), $nC = $this.find('.newContent'); $oC.stop(true, true).fadeOut('fast'); $this.stop(true, true).animate({ width: '+=300', height: '+=300', bottom: '+=300' }, function() { $nC.fadeIn('fast'); }); }, function() { $nC.stop(true, true).fadeOut('fast'); $this.stop(true, true).animate({ width: '-=300', height: '-=300', bottom: '-=300' }, function() { $oC.fadeIn('fast'); }); }); })(jQuery);
It works better, but sometimes displays older content. Work on the fix.
source share