Browse Source

src : imagesLoaded : revised by @yconst

pull/96/head
David DeSandro 14 years ago
parent
commit
8efe5f7d2a
  1. 52
      jquery.isotope.js
  2. 4
      jquery.isotope.min.js

52
jquery.isotope.js

@ -1,5 +1,5 @@
/** /**
* Isotope v1.4.110720 * Isotope v1.4.110721
* An exquisite jQuery plugin for magical layouts * An exquisite jQuery plugin for magical layouts
* http://isotope.metafizzy.co * http://isotope.metafizzy.co
* *
@ -1169,33 +1169,49 @@
// ======================= imagesLoaded Plugin =============================== // ======================= imagesLoaded Plugin ===============================
// A fork of http://gist.github.com/268257 by Paul Irish // https://gist.github.com/964345
// $('img.photo',this).imagesLoaded(myFunction)
// execute a callback when all images have loaded.
// needed because .load() doesn't work on cached images
// modified by yiannis chatzikonstantinou.
// original:
// mit license. paul irish. 2010. // mit license. paul irish. 2010.
// webkit fix from Oren Solomianik. thx! // webkit fix from Oren Solomianik. thx!
$.fn.imagesLoaded = function(callback){ // callback function is passed the last image to load
var elems = this.find('img'), // as an argument, and the collection as `this`
len = elems.length,
_this = this; $.fn.imagesLoaded = function( callback ){
var elems = this.find( 'img' ),
elems_src = [],
self = this,
len = elems.length;
if ( !elems.length ) { if ( !elems.length ) {
callback.call( this ); callback.call( this );
return this;
} }
elems.bind('load',function(){ elems.one('load error', function() {
if (--len <= 0){ if ( --len === 0 ) {
callback.call( _this ); // Rinse and repeat.
} len = elems.length;
}).each(function(){ elems.one( 'load error', function() {
// cached images don't fire load sometimes, so we reset src. if ( --len === 0 ) {
if (this.complete || this.complete === undefined){ callback.call( self );
var src = this.src; }
// webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f }).each(function() {
// data uri bypasses webkit log warning (thx doug jones) this.src = elems_src.shift();
this.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; });
this.src = src;
} }
}).each(function() {
elems_src.push( this.src );
// webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
// data uri bypasses webkit log warning (thx doug jones)
this.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
}); });
return this; return this;

4
jquery.isotope.min.js vendored

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save