首頁  >  文章  >  web前端  >  詳解jQuery lazyload 懶加載

詳解jQuery lazyload 懶加載

高洛峰
高洛峰原創
2016-12-27 15:43:091047瀏覽

Lazy Load 是一個用JavaScript 編寫的jQuery 插件. 它可以延遲加載長頁面中的圖片. 在瀏覽器可視區域外的圖片不會被載入, 直到用戶將頁面滾動到它們所在的位置. 這與圖片預先載入的處理方式正好是相反的.

在包含很多大圖片長頁面中延遲加載圖片可以加快頁面加載速度. 瀏覽器將會在加載可見圖片之後即進入就緒狀態. 在某些情況下還可以幫助降低服務器負擔.

           Demo頁面:

           基本選項

           淡入效果

           對不支持JavaScript瀏覽器的降級處理

           水平滾動

           容器內水平滾動

           容器內垂直滾動

           頁面內存在N多圖片

           經過五秒鐘的延遲後載入圖片

           以AJAX來載入中3<<< . :

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.lazyload.js"></script>

   

你必須改變圖片的標籤。影像的位址必須放在data-original屬性上。給懶加載圖像一個特定的class(例如:lazy)。這樣你可以很容易地進行圖像插件捆綁。代碼如下:

<img class="lazy" alt="" width="640" height="480" data-original="img/example.jpg" />
$(function() {
 $("img.lazy").lazyload();
});

   

這將使所有class 為lazy 的圖片將被延遲加載.


Demo:基本選項

TIPS:這裡必須設定圖片的widthheightDemo:基本選項

TIPS:這裡必須設定圖片的widthheight 。

設定臨界點

預設圖片會出現在螢幕時載入. 如果你想提前載入圖片, 可以設定threshold 選項, 設定threshold 為200 令圖片在距離螢幕200 像素時提前載入.

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

 

設定事件來觸發載入


你可以使用jQuery事件,例如click和mouseover。也可以使用自訂事件,如sporty、foobar預設是要等到使用者向下捲動且影像出現在視窗中。只有當使用者點擊它們才載入圖片:

$("img.lazy").lazyload({
 event : "click"
});

   

Demo:經過五秒鐘的延遲後載入圖片


使用特效

預設值你可以使用任何你想要的效果。下面的程式碼使用fadeIn (淡入效果)。

Demo:淡入效果

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

   

Demo:淡入效果

<img class="lazy" data-original="img/example.jpg" width="640" heigh="480">
<noscript><img src="img/example.jpg" width="640" heigh="480"></noscript>

   


針對不啟用JavaScript的情況

幾乎所有瀏覽器的JavaScript 都是激活的. 然而可能仍希望你能在客戶端展示的圖片.當瀏覽器不支援JavaScript 時優雅降級, 你可以將真實的圖片片段在寫
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn