亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery 判斷圖片是否加載完成方法匯總

2019-11-20 11:52:57
字體:
來源:轉載
供稿:網友

對于圖片的處理,例如幻燈片播放、縮放等,都是依賴于在所有圖片完成之后再進行操作。

今天來看下如何判斷所有的圖片加載完成,而在加載完成之前可以使用 loading 的 gif 圖表示正在加載中。

一、普通方法

監聽 img 的 load 方法,每 load 一張圖片比較一次。關鍵代碼如下:

var num = $img.length;$imgs.load(function() {  num--;  if (num > 0) {    return;  }  console.log('load compeleted');}

二、使用 jQuery 中的 Deferred 對象

Deferred 對象是從 jQuery 1.5.0 版本開始引入的一個新功能,詳細介紹可以見 官方文檔。

簡單的說,Deferred 對象就是jQuery的回調函數解決方案,它解決了如何處理耗時操作的問題, 對那些操作提供了更好的控制,以及統一的編程接口。

阮一峰有一篇文章是介紹 Deferred 對象的,寫的比較詳細,對于入門比較有用。

jQuery的deferred對象詳解

在這里,我們用到了:

deferred.resolve(): Resolve a Deferred object and call any doneCallbacks with the given args.
deferred.when(): Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events.
deferred.done(): Add handlers to be called when the Deferred object is resolved.

關鍵代碼:

var defereds = [];$imgs.each(function() {  var dfd = $.Deferred();  $(this).load(dfd.resolve);  defereds.push(dfd);});$.when.apply(null, defereds).done(function() {  console.log('load compeleted');});

基本思路:

每加載完一張圖片 resolve(),when() 當所有的 Deferred 完成便執行 done()。

注: 因為 $.when 支持的參數是 $.when(dfd1, dfd2, dfd3, ...),所以我們這里使用了 apply 來接受數組參數。

complete判斷圖片是否加載了

感謝谷歌,找到了好使的方法,簡單用法就是:

qim=new Image();//新建一個圖片;qim.src=$preload;//圖片地址是你準備要加載的地址;if(qim.complete){ $("#cxNfloor").html($filetoload);//qim.complete表示這個圖片是否加載完畢了}

后來又發現一個方法

$("").load(function(){...});

其中選擇器是圖片的id或class,function里面的方法就是回調函數,在圖片加載完成后執行,但是我試驗了很多,壓根兒不是那么回事,正確的解決方法是:

//jquery的方式$("#imageId").load(function(){  alert("加載完成!");});

有朋友說使用js是最好的,方法如下

復制代碼 代碼如下:

document.getElementById("img2").onload=function(){}

在網上找到一段代碼
例子

function loadImage(url, callback) { var img = new Image(); //創建一個Image對象,實現圖片的預下載 img.src = url;  if(img.complete) { // 如果圖片已經存在于瀏覽器緩存,直接調用回調函數   callback.call(img);   return; // 直接返回,不用再處理onload事件  } img.onload = function () { //圖片下載完畢時異步調用callback函數。    callback.call(img);//將回調函數的this替換為Image對象  };};

下面是針對多個image的加載判斷。

var imgdefereds=[];$('img').each(function(){ var dfd=$.Deferred(); $(this).bind('load',function(){ dfd.resolve(); }).bind('error',function(){ //圖片加載錯誤,加入錯誤處理 // dfd.resolve(); }) if(this.complete) setTimeout(function(){ dfd.resolve(); },1000); imgdefereds.push(dfd);})$.when.apply(null,imgdefereds).done(function(){  callback();});

  使用這種方法就可以避免window.onload的不足,不過代碼稍顯復雜 在性能方面比起window.onload經強很多。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二三区| 亚洲综合日韩中文字幕v在线| 欧美日韩国产区| 伊人久久五月天| 97视频在线观看网址| 亚洲精品久久7777777| 久久影院模特热| 精品一区二区三区三区| 亚洲国产毛片完整版| 亚洲精品成人久久电影| 日韩在线观看视频免费| 国产一区二区动漫| 亚洲 日韩 国产第一| 欧美精品videosex牲欧美| 国产精品网址在线| 亚洲国产成人久久综合一区| 午夜欧美不卡精品aaaaa| 日韩精品久久久久| 欧美大胆a视频| 日韩精品在线影院| 在线播放日韩精品| 日韩免费高清在线观看| 国产成人综合精品| 久久亚洲国产成人| 国产精品人成电影在线观看| 浅井舞香一区二区| 国产不卡一区二区在线播放| 国产精品一久久香蕉国产线看观看| 国产高清视频一区三区| 97超级碰在线看视频免费在线看| 中文字幕亚洲精品| 亚洲最大中文字幕| 国产精品福利网站| 亚洲视频在线观看网站| 国产欧美日韩91| 国产成人aa精品一区在线播放| 精品久久久久久久久久久| 97视频在线观看成人| 日本成人黄色片| 成人免费观看网址| 国产在线高清精品| 日av在线播放中文不卡| 亚洲成人在线视频播放| 在线观看欧美www| 欧美日韩久久久久| 国产精品久久99久久| 精品国产一区二区三区久久久| 国产精品在线看| 亚洲乱码国产乱码精品精| 久久久中文字幕| 蜜臀久久99精品久久久无需会员| 国内精品久久久久影院 日本资源| 亚洲va欧美va国产综合久久| 国产在线观看精品| 亚洲第一福利在线观看| 久久久黄色av| 欧美成人激情在线| 一区二区三区四区精品| 91精品综合视频| 欧美亚洲激情在线| 欧美日韩在线看| 欧美日韩亚洲视频| 91在线视频免费| 亚洲国产三级网| 国产噜噜噜噜久久久久久久久| 久久久av一区| 美女久久久久久久| 欧美午夜影院在线视频| 亚洲理论电影网| 国内伊人久久久久久网站视频| 欧美视频在线观看免费网址| 最近2019年中文视频免费在线观看| 国产伦精品一区二区三区精品视频| 中文字幕免费精品一区| 久久中文久久字幕| 亚洲精品在线视频| 久久五月天综合| 一区二区亚洲精品国产| 不卡av电影在线观看| 清纯唯美亚洲激情| 久久精品人人做人人爽| 精品视频中文字幕| 4438全国亚洲精品在线观看视频| 亚洲自拍偷拍视频| 亚洲天堂第一页| 精品视频—区二区三区免费| 在线观看亚洲区| 一本久久综合亚洲鲁鲁| 日韩在线观看免费高清完整版| 日韩欧美国产高清91| 一区二区三区久久精品| 久久精品国产96久久久香蕉| 国产精品男女猛烈高潮激情| 2019中文字幕在线免费观看| 这里只有精品在线播放| 在线日韩欧美视频| 91色琪琪电影亚洲精品久久| 91美女片黄在线观| 亚洲小视频在线| 日韩精品在线观看一区二区| 成人性生交大片免费观看嘿嘿视频| 欧美激情成人在线视频| 亚洲国产中文字幕久久网| 欧美国产极速在线| 欧美日韩在线视频首页| 亚洲精品按摩视频| 国产91在线播放九色快色| 亚洲韩国青草视频| 日韩中文有码在线视频| 国产激情久久久| 精品视频www| 色噜噜国产精品视频一区二区| 国产精品精品国产| 国产一级揄自揄精品视频| 亚洲精品suv精品一区二区| 中文字幕亚洲综合久久| 国产亚洲激情在线| 91丨九色丨国产在线| 91九色在线视频| 久久精品视频va| 欧美一乱一性一交一视频| 国产亚洲精品久久久久久| 亚洲精品黄网在线观看| 欧美日韩国产91| 色婷婷av一区二区三区在线观看| 国产精品久久久久久久天堂| 精品无人国产偷自产在线| 日韩欧美国产网站| 米奇精品一区二区三区在线观看| 国产福利精品av综合导导航| 国产精品人成电影在线观看| 国产在线播放91| 成人性生交大片免费看视频直播| 精品国产91久久久久久老师| 亚洲视频电影图片偷拍一区| 成人黄色在线播放| 亚洲精品国产suv| 亚洲xxxxx| 国产精品18久久久久久麻辣| 91丝袜美腿美女视频网站| 日韩高清有码在线| 国产亚洲成av人片在线观看桃| 国产一区二区三区中文| 亚洲色图18p| 国产视频精品xxxx| 欧美猛少妇色xxxxx| 精品中文字幕久久久久久| 久久精品一偷一偷国产| 亚洲欧美国产精品va在线观看| 91国产美女视频| 日韩视频欧美视频| 成人精品久久久| 97久久伊人激情网| 在线成人激情视频| 国产精品一区专区欧美日韩| 欧美贵妇videos办公室| 精品亚洲aⅴ在线观看| 国产一区二区在线免费视频| 欧美精品午夜视频| 91精品啪aⅴ在线观看国产| 久久久久久久爱| 欧美午夜宅男影院在线观看| 3344国产精品免费看| 久久精品中文字幕免费mv|