圖片懶加載-1(首屏幕圖片懶加載)

作用: 保證頁面打開的速度(3s之內(nèi)如果首頁打不開跺讯,就已經(jīng)算是死亡頁面了)棕洋。
原理:

  1. 對于首屏幕中的圖片: 首先給對應(yīng)的區(qū)域一張默認(rèn)圖片占的位置(默認(rèn)圖需要非常的小,一般維持在5kb內(nèi))咒程,當(dāng)首屏內(nèi)容都加載完成后啡直,才開始加載真實的圖片,或者也可以給一個延遲的時間镀脂。
  2. 對于其他屏幕的圖片: 也是給一張默認(rèn)的圖片占位牺蹄,當(dāng)滾動條滾動到對應(yīng)區(qū)域的時候,再開始加載真實的圖片
    拓展: 數(shù)據(jù)的異步加載薄翅,開始只把前兩屏幕的數(shù)據(jù)加載綁定出來沙兰,后面的數(shù)據(jù)不進(jìn)行處理,當(dāng)頁面滾動到對應(yīng)區(qū)域時翘魄,再重新請求數(shù)據(jù)鼎天,然后再綁定渲染數(shù)據(jù)。

步驟

  1. 給需要懶加載的圖片外層放置一個容器暑竟。給img標(biāo)簽通過display:none;隱藏斋射。然后給外層的容器讓一個大小很小的背景圖。給img標(biāo)簽上設(shè)置一個自定義屬性但荤,用于存放圖片的真實地址罗岖。
HTML
<div class="banner">
    <!--trueImg是當(dāng)前IMG標(biāo)簽的自定義屬性,存儲的是真實圖片地址-->
    <img src="" alt="#" trueImg="img/jd.jpg">
</div>
CSS
        .banner {
            margin: 10px auto;
            width: 350px;
            height: 200px;
            border: 1px solid green;
            background: url("../img/default.gif") no-repeat center center #e1e1e1; /*給當(dāng)前的區(qū)域加一個默認(rèn)圖占位腹躁,告訴用戶此處圖片正在加載中*/
        }
        .banner img {
            display: none; /*在開始的時候桑包,img的src屬性沒有地址,這樣的話在IE瀏覽器中纺非,容器中會顯示一張碎圖哑了,不美觀,所以讓其隱藏铐炫;當(dāng)真實的圖片加載完成后再顯示*/
            width: 100%;
            height: 100%;
        }
  1. 使用JavaScript實現(xiàn)圖片懶加載±菔郑現(xiàn)在是模擬情況,所以用一個延時定時器來使得圖片延遲加載倒信。還要考慮到如果img標(biāo)簽內(nèi)地址設(shè)置錯誤科贬,避免出現(xiàn)叉圖的影響視覺的效果。所以使用 new Image()來暫時存放一個圖片。并使用其onload方法判斷圖片是否加載成功:
    var banner = document.querySelector('.banner');
    var imgFir = banner.getElementsByTagName('img')[0];

    window.setTimeout(function () {
        // imgFir.src = imgFir.getAttribute('trueImg');
        // imgFir.style.display = 'block';
        // -> 以上處理還是不完整的: 如果獲取的真實圖片的地址是錯誤的榜掌,當(dāng)賦值給IMG的src屬性的時候优妙,不僅控制臺會報錯,而且頁面中會出現(xiàn)碎圖憎账,或者?圖套硼,影響實際視覺效果
        // -> 獲取圖片的地址,驗證地址的有效性胞皱,是有效的才賦值邪意,不是有效的不進(jìn)行賦值處理
        // var oImg = document.createElement('img');
        var oImg = new Image(); // 創(chuàng)建一個臨時的img標(biāo)簽
        oImg.src = imgFir.getAttribute('trueImg');
        oImg.onload = function () { // 當(dāng)圖片能夠正常加載就執(zhí)行
            imgFir.src = this.src;
            imgFir.style.display = 'block';
            oImg = null;
            console.log('圖片加載完成...');
            var now = new Date();
        }
        //console.log('圖片正在加載中...');
        var time = new Date();
    }, 500);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市反砌,隨后出現(xiàn)的幾起案子雾鬼,更是在濱河造成了極大的恐慌,老刑警劉巖宴树,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件策菜,死亡現(xiàn)場離奇詭異,居然都是意外死亡酒贬,警方通過查閱死者的電腦和手機(jī)又憨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锭吨,“玉大人蠢莺,你說我怎么就攤上這事∧推耄” “怎么了浪秘?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長埠况。 經(jīng)常有香客問我,道長棵癣,這世上最難降的妖魔是什么辕翰? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮狈谊,結(jié)果婚禮上喜命,老公的妹妹穿的比我還像新娘。我一直安慰自己河劝,他們只是感情好壁榕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赎瞎,像睡著了一般牌里。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天牡辽,我揣著相機(jī)與錄音喳篇,去河邊找鬼。 笑死态辛,一個胖子當(dāng)著我的面吹牛麸澜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奏黑,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼炊邦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了熟史?” 一聲冷哼從身側(cè)響起馁害,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎以故,沒想到半個月后蜗细,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡怒详,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年炉媒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昆烁。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡吊骤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出静尼,到底是詐尸還是另有隱情白粉,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布鼠渺,位于F島的核電站鸭巴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拦盹。R本人自食惡果不足惜鹃祖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望普舆。 院中可真熱鬧恬口,春花似錦、人聲如沸沼侣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛾洛。三九已至养铸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背揭厚。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工却特, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人筛圆。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓裂明,卻偏偏與公主長得像,于是被迫代替她去往敵國和親太援。 傳聞我的和親對象是個殘疾皇子闽晦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容