第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用JavaScript / jQuery預(yù)加載圖像的最佳方法?

使用JavaScript / jQuery預(yù)加載圖像的最佳方法?

慕運維8079593 2019-10-08 09:58:39
我完全意識到,無論是在SO還是離線狀態(tài)下,這個問題在任何地方都被提出并得到了回答。但是,每次似乎都有不同的答案,例如this,this和that。我不在乎是否在使用jQuery-重要的是它可以工作,并且是跨瀏覽器的。]那么,預(yù)加載圖像的最佳方法是什么?
查看完整描述

3 回答

?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

拼寫

正如其他人提到的那樣,由于多種原因,拼寫效果很好,但是,效果卻不盡如人意。

  • 從好的方面來說,您最終只對圖像發(fā)出一個HTTP請求。YMMV雖然。

  • 不利的一面是,您將所有內(nèi)容加載到一個HTTP請求中。由于當(dāng)前大多數(shù)瀏覽器都限于2個并發(fā)連接,因此圖像請求可以阻止其他請求。因此,YMMV和菜單背景之類的內(nèi)容可能無法渲染一會。

  • 多張圖像共享相同的調(diào)色板,因此可以節(jié)省一些費用,但情況并非總是如此,甚至可以忽略不計。

  • 由于圖像之間共享的數(shù)據(jù)更多,因此壓縮得到了改善。

但是,處理不規(guī)則形狀非常棘手。將所有新圖像合并到新圖像中是另一種煩惱。

使用<img>標簽的低千斤頂方法

如果您正在尋找最確定的解決方案,則應(yīng)采用我仍然偏愛的低千斤頂方法。在文檔的末尾創(chuàng)建的<img>鏈接到的圖像和設(shè)置width,并height以1x1像素,另外把它們放在一個隱藏的股利。如果它們在頁面末尾,則會在其他內(nèi)容之后加載它們。


查看完整回答
反對 回復(fù) 2019-10-08
?
白衣染霜花

TA貢獻1796條經(jīng)驗 獲得超10個贊

這里介紹的方法均不適合我使用,因此,這是經(jīng)過測試并與Chrome 25和Firefox 18一起使用的方法。使用jQuery和此插件來解決load事件怪癖:


function preload(sources, callback) {

    if(sources.length) {

        var preloaderDiv = $('<div style="display: none;"></div>').prependTo(document.body);


        $.each(sources, function(i,source) {

            $("<img/>").attr("src", source).appendTo(preloaderDiv);


            if(i == (sources.length-1)) {

                $(preloaderDiv).imagesLoaded(function() {

                    $(this).remove();

                    if(callback) callback();

                });

            }

        });

    } else {

        if(callback) callback();

    }

}

用法:


preload(['/img/a.png', '/img/b.png', '/img/c.png'], function() { 

    console.log("done"); 

});

請注意,如果禁用了緩存,您將得到不同的結(jié)果,當(dāng)開發(fā)人員工具打開時,默認情況下在Chrome上是這樣,因此請記住這一點。


查看完整回答
反對 回復(fù) 2019-10-08
  • 3 回答
  • 0 關(guān)注
  • 400 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號