1.背景介紹
在網(wǎng)絡(luò)相冊(cè)應(yīng)用中用戶查看
照片
是最樸素的需求,當(dāng)網(wǎng)絡(luò)比較慢的時(shí)候查看照片等待的時(shí)間是比較長(zhǎng)的,用戶體驗(yàn)會(huì)很差。
?
2.現(xiàn)狀
現(xiàn)在
加載
照片的
方法
主要有一下兩種:
(1)最原始的方式在
html
頁(yè)面直接用img標(biāo)簽加載
顯示
照片。該方法在網(wǎng)絡(luò)速度比較慢或者要顯示的照片比較大的時(shí)候會(huì)頁(yè)面出現(xiàn)空白的等待過(guò)程,并且不能開(kāi)始給用戶看到照片大概的情況,用戶體驗(yàn)比較不好
(2)在html頁(yè)面先用img標(biāo)簽加載顯示照片的縮略圖,同時(shí)用javascript隱藏的加載照片的原圖,等照片大圖加載完成后再將原圖顯示到頁(yè)面中。以下是流程圖:
該方法用戶可以先看到的是 模糊 的小圖,等照片的原圖加載完后才能看到真實(shí)的照片,如果網(wǎng)絡(luò)慢的話中間等待的時(shí)間也是比較長(zhǎng)的,用戶就一直看到模糊的小圖,用戶體驗(yàn)也不好。
?
3.我們的解決方案
QQ相冊(cè)最近做的一些優(yōu)化方法解決了上訴兩個(gè)方法的缺點(diǎn)和滿足了用戶查看照片的需求:第一時(shí)間看到照片大概情況和盡可能快的看到
清晰
的原圖。該方法使用縮略圖和原圖同時(shí)加載并疊加顯示,先加載縮略圖并拉大顯示,大圖疊加在縮略圖上面同時(shí)加載??s略圖很小通常很快就能給用戶看到照片模糊的效果,大圖加載過(guò)程中從上往下逐步覆蓋縮略圖,這樣用戶就可以看到加載過(guò)程中的大圖。
(1)示例圖
?
如上如所示,本方法的處理步驟是:
1.獲取照片縮略圖和原圖的URL,獲取照片的長(zhǎng)和寬;
2.加載并顯示照片縮略圖,將縮略圖按照片的長(zhǎng)和寬拉伸顯示,這時(shí)用戶看到的是模糊的效果;
3.加載并顯示照片原圖,將原圖疊加在縮略圖上面顯示,原圖加載多少就顯示多少,沒(méi)有加載的還是顯示縮略圖,逐步將縮略圖覆蓋掉,原圖在加載的過(guò)程中用戶看到的是照片從模糊到清晰的
漸變
效果。
?
4.原圖加載完后,原圖已經(jīng)全部將縮略圖覆蓋,這時(shí)用戶看到的是真實(shí)的原圖。此時(shí)可以隱藏縮略圖防止縮略圖干擾PNG或GIF等有透明效果的圖片顯示。
(2)示例代碼
<!–設(shè)置照片的大小–> <div style=”width:400px;height:300px;”> <!–小圖拉大顯示–> <img src=”small_url” style=”width:100%;height:100%;”/> <!–原圖疊加在小圖上面–> <img src=”big_url” style=”width:100%;height:100%;position:absolute;top:0px;left:0px;”/> </div>
?
轉(zhuǎn)載: 青豆前端 ? html照片從模糊到清晰的漸變加載顯示方法
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
