jQuery lazyload 圖片懶載入實現

來源:互聯網
上載者:User

標籤:lan   data   code   點擊   特定   元素   距離   http   click   

現在網站頁面內容越來越豐富,圖片內容也越來越多,而圖片過多會導致網頁檔案過大,從而引發載入緩慢的問題,而圖片懶載入就是為解決這一問題而生。

首先我們來講Jquery的懶載入控制項

 jQuery lazyload.JS

   jQuery lazyload.JS 地址:https://github.com/helijun/helijun/blob/master/plugin/lazyLoad/jquery.lazyload.js  直接複製源碼到本地

   jQuery lazyload.JS是用 jQuery編寫的一個控制項,所以要運行 jQuery lazyload.JS必須先載入  jQuery

1、請將下列代碼加入</body>前: 

 

  <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>   <script type= "text/javascript" src= "jquery.lazyload.js" ></script> 2、首先圖片大小必須設定,然後刪除圖片的src標籤,將圖片的地址放在data-original屬性上,給懶載入映像一個特定的class(例如:lazy)
代碼如下:

  <img class="lazy" alt="" width="800" height="5000" data-original="img/lazy1.jpg" />

  $( function () {       $( "img.lazy" ).lazyload();   }); 3、效果設定更改    jQuery lazyload.JS在載入時有很多選項可以設定:  1、設定臨界點    預設情況片是進入螢幕地區後再載入. 如果你想提前載入圖片, 可以設定threshold 選項, 比如設定 threshold 為 150 令圖片在距離螢幕 150 像素時提前載入.        $( "img.lazy" ).lazyload({         threshold : 200     });   2、事件觸發載入    也可以通過各類事件來觸發載入,如點擊事件:     $( "img.lazy" ).lazyload({         event : "click"     });  3、特效載入    預設是調用show()進行載入,你當然可以使用你想要的效果來實現。比如下面的代碼使用fadeIn (淡入效果):         $( "img.lazy" ).lazyload({       effect : "fadeIn"     });  4、提前載入圖片    你也可以設定提前載入幾張圖片來提升網頁瀏覽的連貫性,這由failure_limit的值來決定:         $( "img.lazy" ).lazyload({         failure_limit : 2     });  5、載入隱藏的圖片    Lazy Load 預設忽略了隱藏圖片. 如果你想要載入隱藏圖片, 請將 skip_invisible 設為 false:     $( "img.lazy" ).lazyload({         skip_invisible : false     }); 4、為了在某些瀏覽器或使用者未啟用JS或js控制項載入失敗的情況下實現優雅降級, 可以添加noscript標籤,然後通過 CSS 先隱藏帶控制項的img元素,同時讓控制項執行成功時先運行show()方法將img元素顯示出來,再運行懶載入.最後代碼如下:

<style type="text/css">
  img {
  width: 100%;
  }
  .lazy{display: none;}
</style>
<img src="lun1.jpg" ><br>
<img src="lun2.jpg" ><br>
<img data-original="lun1.jpg" class="lazy" ><br>
  <noscript><img src="lun1.jpg" ></noscript>
<img data-original="lun4.jpg" class="lazy" ><br>
  <noscript><img src="lun4.jpg" ></noscript>
<img data-original="lun5.jpg" class="lazy" ><br>
  <noscript><img src="lun5.jpg" ></noscript>
<img data-original="lun4.jpg" class="lazy" ><br>
  <noscript><img src="lun4.jpg" ></noscript>
<img data-original="lun2.jpg" class="lazy" ><br>
  <noscript><img src="lun2.jpg" ></noscript>
<img data-original="lun1.jpg" class="lazy" >
  <noscript><img src="lun1.jpg" ></noscript>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src=‘jqueryLazyload.js‘></script>
<script type="text/javascript">
$(function() {
  $("img.lazy").show().lazyload({
    effect:‘fadeIn‘
  });
});

</script>

 

 

jQuery lazyload 圖片懶載入實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.