jQuery懶加載插件jquery.lazyload.js使用說明實例
很多網站都會用到‘圖片懶加載’這種方式對網站進行優化,即延遲加載圖片或符合某些條件才開始加載圖片。
懶加載原理:瀏覽器會自動對頁面中的img標簽的src屬性發送請求並下載圖片。通過動態改變img的src屬性實現。
Lazy Load 是一個用 JavaScript 編寫的 jQuery 插件。
它可以延遲加載長頁面中的圖片在瀏覽器可視區域外的圖片不會被載入,直到用戶將頁面滾動到它們所在的位置。
與圖片預加載的處理方式相反,在包含很多大圖片長頁面中延遲加載圖片可以加快頁面加載速度,尤其是移動端。
瀏覽器將會在加載可見圖片之后即進入就緒狀態,在淘寶商品詳情頁、漫畫網站很多圖片的情況下還可以幫助降低服務器負擔。
一、下載和引用
官網下載地址:http://plugins.jquery.com/lazyload/ 下載2014年最后更新的1.9.3即可
Lazy Load 依賴於 jQuery. 所以需要先引用jqueryjs:
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.lazyload.min.js"></script>
二、實例調用
要使用懶加載,需要改變img的src標簽
<img alt="" width="640" height="480" data-original="img/test.jpg" />
js代碼
$(function() {
$("img").lazyload();
});
這樣設置就會將所有的img的並且擁有data-original標簽的圖片更改為懶加載。
備注:這里必須設置圖片的width和height,否則插件可能無法正常工作。
上面是最簡單的調用,特殊的需求如:提前加載,避免網絡過慢時加載緩慢,加載隱藏圖片等等,都有相應的方法可以調用。
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