// $('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.imgloaded',function(){ if (--len <= 0 && this.src !== blank){ elems.unbind('load.imgloaded'); 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 http://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; };
星期二, 5月 08, 2012
[jQuery Plugin] imagesLoaded偵測圖檔已被讀取
需要偵測圖檔已被讀取完畢的話,可以使用imagesLoaded這個外掛:)
沒有留言:
張貼留言
留個話吧:)