懶加載圖片

  Lazy Load 是一個用 JavaScript 編寫的 jQuery 插件. 它可以延遲加載長頁面中的圖片. 在瀏覽器可視區域外的圖片不會被載入, 直到用戶將頁面滾動到它們所在的位置. 這與圖片預加載的處理方式正好是相反的.在包含很多大圖片長頁面中延遲加載圖片可以加快頁面加載速度. 瀏覽器將會在加載可見圖片之後即進入就緒狀態. 在某些情況下還可以幫助降低服務器負擔。

  1. 下載和引用

    官網下載地址:[jquery.lazyload.js](http://plugins.jquery.com/lazyload/)
    

  Lazy Load 依賴於 jQuery. 所以需要引用2個js

  1. 簡單調用

  要使用懶加載,需要改變img的src標籤
  html代碼:

<img alt="" width="640" height="480" data-original="img/example.jpg" />

  js代碼:

$(function() {
    $("img").lazyload();
});

  這樣設置就會將所有的img的並且擁有data-original標籤的圖片更改爲懶加載。

  備註:這裏必須設置圖片的width和height,否則插件無法正常工作。

  上面是最簡單的調用,但是一般而言,我們還有一些特殊的需求,比如想要提前一點點加載,避免網絡過慢時加載緩慢,加載隱藏圖片等等,lazyload都爲我們提供相應的參數。

  1. 設置臨界點

  默認情況下圖片會出現在屏幕時加載. 如果你想提前加載圖片, 可以設置threshold 選項, 如:設置 threshold 爲 200 令圖片在距離屏幕 200 像素時提前加載.

$("img").lazyload({
    threshold : 200
});

  1. 使用特效

  默認情況下,圖像完全加載並調用show()。你可以使用任何你想要的效果。下面的代碼使用fadeIn (淡入效果)

$("img").lazyload({
    effect : "fadeIn"
});

  1. 當圖片不連續時

  滾動頁面的時候, Lazy Load 會循環爲加載的圖片. 在循環中檢測圖片是否在可視區域內. 默認情況下在找到第一張不在可見區域的圖片時停止循環. 圖片被認爲是流式分佈的, 圖片在頁面中的次序和 HTML 代碼中次序相同. 但是在一些佈局中, 這樣的假設是不成立的. 不過你可以通過 failurelimit 選項來控制加載行爲.

$("img").lazyload({
    failure_limit : 20
});

  將 failurelimit 設爲 20 ,當插件找到 20 個不在可見區域的圖片時停止搜索.

  1. 加載隱藏圖片

  當界面有很多隱藏圖片的時候並希望加載他們的時候則使用kip_invisible 屬性,將其設置爲false

$("img").lazyload({ 
    skip_invisible : false
});

  到這裏,上面的方法已經基本滿足常規的懶加載使用了,還有特殊的使用,可查看官網API。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章