日韩成人A片一区二区三区-日韩成人黄色片-日韩成人在线视频-日韩吃奶摸下AA片免费观看-日韩大片免费看-日韩大片在线观看

sunlynet新尼網(wǎng)絡|順德網(wǎng)站建設,SEO優(yōu)化,微信公眾號開發(fā),響應式外貿(mào)網(wǎng)站,官網(wǎng)小程序

公司新聞

關注我們:

JS判斷單、多張圖片加載完成后執(zhí)行代碼

近日調(diào)一個代碼,發(fā)現(xiàn)在圖片未加載前頁面出現(xiàn)排版錯位,后來使用了如下的判斷圖片加載完成后再顯示,但仍然未能解決,后來發(fā)現(xiàn)是JS判斷圖片比例再完成計算顯示尺寸與位置,原來在CSS中并沒有設置尺寸和位置。最終對出現(xiàn)錯位的版塊進行重編CSS樣式。

在實際的運用中有這樣一種場景,某資源加載完成后再執(zhí)行某個操作,例如在做導出時,后端通過打開模板頁生成PDF,并返回下載地址。這時前后端通常需要約定一個flag,用以標識模板準備就緒,可以生成PDF了。

試想,如果模板中有圖片,此時如何判斷圖片是否加載完成?

在此之前來了解一下jquery的ready與window.onload的區(qū)別,ready只是dom結(jié)構(gòu)加載完畢,便視為加載完成。(此時圖片沒有加載完畢),onload是指dom的生成和資源完全加載(比如flash、圖片)出來后才執(zhí)行。接下來回到正題,先從單張圖片說起。

(1)、單張圖片(圖片在文檔中)

// HTML <img id='xiu' src="http://www.daqianduan.com/wp-content/uploads/2014/11/hs-xiu.jpg">   //js $(document).ready(function(){ //jquery $('#xiu').load(function(){ // 加載完成  }); //原生  onload var xiu = document.getElementById('xiu') xiu.onload = xiu.onreadystatechange = function(){ if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){ // 加載完成  } }; })

注:
1、IE8及以下版本不支持onload事件,但支持onreadystatechange事件;
2、readyState是onreadystatechange事件的一個狀態(tài),值為loaded或complete的時候,表示已經(jīng)加載完畢。
3、以下內(nèi)容省略兼容

(2)、單張圖片(圖片動態(tài)生成)

//js var xiu = new Image() xiu.src = 'http://www.daqianduan.com/wp-content/uploads/2014/11/hs-xiu.jpg' xiu.onload = function(){ // 加載完成  }

(3)、單張圖片(結(jié)合ES6 Promise)

//js new Promise((resolve, reject)=>{ let xiu = new Image() xiu.src = 'http://www.daqianduan.com/wp-content/uploads/2014/11/hs-xiu.jpg' xiu.onload = function(){ // 加載完成  resolve(xiu) } }).then((xiu)=>{ //code })

(4)、多張圖片

var img = [], flag = 0, mulitImg = [ 'http://www.daqianduan.com/wp-content/uploads/2017/03/IMG_0119.jpg', 'http://www.daqianduan.com/wp-content/uploads/2017/01/1.jpg', 'http://www.daqianduan.com/wp-content/uploads/2015/11/jquery.jpg', 'http://www.daqianduan.com/wp-content/uploads/2015/10/maid.jpg' ]; var imgTotal = mulitImg.length; for(var i = 0 ; i < imgTotal ; i++){ img[i] = new Image() img[i].src = mulitImg[i] img[i].onload = function(){ //第i張圖片加載完成 flag++ if( flag == imgTotal ){ //全部加載完成 } } }

(5)、多張圖片(結(jié)合ES6 Promise.all())

 let mulitImg = [ 'http://www.daqianduan.com/wp-content/uploads/2017/03/IMG_0119.jpg', 'http://www.daqianduan.com/wp-content/uploads/2017/01/1.jpg', 'http://www.daqianduan.com/wp-content/uploads/2015/11/jquery.jpg', 'http://www.daqianduan.com/wp-content/uploads/2015/10/maid.jpg' ]; let promiseAll = [], img = [], imgTotal = mulitImg.length; for(let i = 0 ; i < imgTotal ; i++){ promiseAll[i] = new Promise((resolve, reject)=>{ img[i] = new Image() img[i].src = mulitImg[i] img[i].onload = function(){ //第i張加載完成 resolve(img[i]) } }) } Promise.all(promiseAll).then((img)=>{ //全部加載完成 })


上一篇: 順德定制網(wǎng)站建設優(yōu)勢有那些
下一篇:SEO優(yōu)化后臺獲取文章是否被百度收錄
X
點擊這里給我發(fā)消息 點擊這里給我發(fā)消息 點擊這里給我發(fā)消息
主站蜘蛛池模板: 国产在线观看激情视频小舞91| 丝袜精品一区二区黄页网站| 亚洲乱色伦图片小说精品国产一区二区三区久久精品 | 久久国产成人精品国产成人亚洲2024| 日韩一区二区在线观看视频《绝对重磅》| 一区二区三区911播放| 亚洲综合久久综合激情久久综合 | 亚洲综合国产一区二区三区电影| 无码任你躁久久久久久久AAAAAA无码 | 被夫上司强迫的女人电影免费观看 | 女人18片毛片喷水在线观看| 思思re热免费精品视频8| 红桃av一区二区三区在线无码av 蜜桃| 精品久久久久久无码人妻热,国产成A| 精品国产自在精品国产精HD| 91麻豆精品国产91久久久久久久久 | 国产成人久久精品激情日韩电影免费 | 国产综合内射日韩久明星| 久久精品人成免费一区二区三区| 久久精品国产99久久99久久久,久久狠 | 国产成人99久久亚洲综合精品小牛拉大车| 亚洲一区二区三区高清视频亚洲高清视频 | 三上悠亚日韩在线中文| 无码人妻精一区二区三区四季| 久久精品国产96精品亚洲免费| 99精品久久久久中文字幕妻| 高清免费不卡电影一区二区三区视频 | 少妇被又大又粗又爽毛片久久黑人色情小说 | 91精品综合久久久久久五月天小说| 国产亚洲一区二区在线观看一区二区在线观看 | 久久婷婷五月综合色精品_夜间福利无 | 狠狠色婷婷久久一区二区免费下载 | 天然frboobs爆乳巨大HD| 成人午夜视频精品一区手机| 中文字幕精品久久久久人妻-久久先锋稳定资源站 | 亚洲第一页中文字幕在线视频看看| 欧美操B操屁眼电影| 中文字幕人成人乱码亚洲电影金瓶梅 | 免费无码又爽视频在线观看绿帽社区| 国内精品伊人久久久久网站_第38集| 亚洲一区丝袜资源|