Essayer de donner un sens à la code below, comme je veux le personnaliser un peu. Selon les commentaires, le callback function is passed the last image to load as an argument
. Quelqu'un peut-il s'il vous plaît expliquer comment le rappel est passé seulement à la dernière image (je comprends pourquoi, je ne sais tout simplement pas comment)? De la façon dont je lis le code, il semble que ce soit transmis à tous.S'il vous plaît expliquer ce code
Cheers.
// $('img.photo',this).imagesLoaded(myFunction)
// execute a callback when all images have loaded.
// needed because .load() doesn't work on cached images
// mit license. paul irish. 2010.
// webkit fix from Oren Solomianik. thx!
// callback function is passed the last image to load
// as an argument, and the collection as 'this'
$.fn.imagesLoaded = function(callback){
var elems = this.filter('img'),
len = elems.length,
blank = 'data:image/gif;base64,' +
'R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';
elems.bind('load',function(){
if (--len <= 0 && this.src !== blank){ callback.call(elems,this); }
}).each(function(){
// cached images don't fire load sometimes, so we reset src.
if (this.complete || this.complete === undefined){
var src = this.src;
// webkit hack from
// groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
// data uri bypasses webkit log warning (thx doug jones)
this.src = blank;
this.src = src;
}
});
return this;
};
+1 wow! Je voudrais savoir aussi ... – naveen