JS預(yù)加載

js預(yù)加載

意義:

與懶加載相反,有時我們需要實現(xiàn)例如快速快速切換頁面、圖片之類的功能時,能盡快的加載出我們所需的圖片會極大提升用戶體驗,這時用預(yù)加載將圖片先緩存到瀏覽器,用戶使用需顯示圖片時無疑會順暢很多。

原理:

1.在html中用img標簽
2.使用JavaScript的Imgage對象
3.ajax請求圖片
4.preload.js插件

實現(xiàn)

1.使用html文檔中img標簽

      <img src="./img/loading.jpg" alt="圖片" style="display:none">

      執(zhí)行文檔時直接加載進來只不過讓其不顯示

2.使用Imgage對象

      var img=new Image()
      img.src="http://www.wwenj.com/img/1.jpg"

      js中執(zhí)行到該語句后就會加載進來

3.使用ajax請求圖片

      直接用ajax請求很好理解不貼代碼,
      優(yōu)點:ajax請求過程中能有更加詳細的操作
      缺點:有跨域
  1. preload.js預(yù)加載插件

       "PreloadJS"便于預(yù)先加載資源:圖像、聲音、數(shù)據(jù)、或其他的JS
    
         [PreloadJS插件地址:](http://www.createjs.cc/preloadjs/)[http://www.createjs.cc/preloadjs/]      
    

    (http://www.createjs.cc/preloadjs/)

      (PreloadJS提供了一個一致的方式預(yù)先加載在HTML應(yīng)用的內(nèi)容,以及預(yù)加載可以使用HTML標      
  簽作為XHR完成。
      默認, PreloadJS 將嘗試使用XHR加載內(nèi)容,因為它提供了進度和完成事件方面的更好支持, 
 然而由于跨域的問題,它可能仍然是優(yōu)選使用基于標簽的負載代替)

代碼:
var queue = new createjs.LoadQueue();

       queue.on("complete", handleComplete, this);
       queue.loadManifest([
           {id: "myImage", src:"path/to/myImage.jpg"} 
       ]);
       function handleComplete() {
           var image = queue.getResult("myImage");
           document.body.appendChild(image);
       }

這就是圖片預(yù)加載的實現(xiàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在你所有的JS代碼的最開始就用一個img把你要預(yù)加載的圖片的src存進去,這樣瀏覽器執(zhí)行JS的時候就會先去請求你的...
    勃王閱讀 435評論 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,826評論 1 45
  • 預(yù)加載圖片是提高用戶體驗的一個很好方法。圖片預(yù)先加載到瀏覽器中,訪問者便可順利地在你的網(wǎng)站上沖浪,并享受到極快的加...
    站著瞌睡閱讀 2,200評論 0 0
  • 工廠模式類似于現(xiàn)實生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實現(xiàn)同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 8,131評論 2 17
  • 上帝給了我們一顆靈動的心 是想要我們能夠柔軟和溫情地活著, 而不是無知無覺地白白虛度! 我們總要仰望星空, 總要欣...
    昊ge閱讀 145評論 0 0

友情鏈接更多精彩內(nèi)容