Lazy Load 是一個用 JavaScript 編寫的 jQuery 插件. 它能夠延遲加載長頁面中的圖片. 在瀏覽器可視區域外的圖片不會被載入, 直到用戶將頁面滾動到它們所在的位置. 這與圖片預加載的處理方式正好是相反的.在包含不少大圖片長頁面中延遲加載圖片能夠加快頁面加載速度. 瀏覽器將會在加載可見圖片以後即進入就緒狀態. 在某些狀況下還能夠幫助下降服務器負擔。javascript
1、下載和引用html
官網下載地址:http://plugins.jquery.com/lazyload/java
Lazy Load 依賴於 jQuery. 因此須要引用2個jsjquery
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.lazyload.js"></script>
2、簡單調用瀏覽器
要使用懶加載,須要改變img的src標籤服務器
html代碼網絡
<img alt="" width="640" height="480" data-original="img/example.jpg" />
js代碼佈局
$(function() { $("img").lazyload(); });
這樣設置就會將全部的img的而且擁有data-original標籤的圖片更改成懶加載。spa
備註:這裏必須設置圖片的width
和height
,不然插件可能沒法正常工做。插件
上面是最簡單的調用,可是通常而言,咱們還有一些特殊的需求,好比想要提早一點點加載,避免網絡過慢時加載緩慢,加載隱藏圖片等等,lazyload都爲咱們提供相應的參數。
1.設置臨界點
默認狀況下圖片會出如今屏幕時加載. 若是你想提早加載圖片, 能夠設置threshold
選項, 如:設置 threshold 爲 200 令圖片在距離屏幕 200 像素時提早加載.
$("img").lazyload({ threshold : 200 });
2.使用特效
默認狀況下,圖像徹底加載並調用show()
。你可使用任何你想要的效果。下面的代碼使用fadeIn
(淡入效果)
$("img").lazyload({ effect : "fadeIn" });
3.當圖片不連續時
滾動頁面的時候, Lazy Load 會循環爲加載的圖片. 在循環中檢測圖片是否在可視區域內. 默認狀況下在找到第一張不在可見區域的圖片時中止循環. 圖片被認爲是流式分佈的, 圖片在頁面中的次序和 HTML 代碼中次序相同. 可是在一些佈局中, 這樣的假設是不成立的. 不過你能夠經過 failurelimit
選項來控制加載行爲.
$("img").lazyload({ failure_limit : 20 });
將 failurelimit 設爲 20 ,當插件找到 20 個不在可見區域的圖片時中止搜索.
4.加載隱藏圖片
當界面有不少隱藏圖片的時候並但願加載他們的時候則使用kip_invisible
屬性,將其設置爲false
("img").lazyload({ skip_invisible : false });
到這裏,上面的方法已經基本知足常規的懶加載使用了,還有特殊的使用,可查看官網API。