jquery lazyload

研究背景:網站中若是圖片過多,就會由於加載圖片而等待很長時間,此時咱們就用到圖片延時加載插件jquery.lazyload.js,這個插件可讓咱們在向下滾動的時候加載圖片。讓網頁首屏儘量快的加載進來。javascript

 

如何使用jquery.lazyload.js:java

一、jquery.lazyload.js依賴於 jquery. 請將下列代碼加入HTML的結尾,也就是</body>前:jquery

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

 

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

複製代碼
1 /*使用格式 */
2 <img class="lazy" alt="" width="640" height="480" data-original="img/example.jpg" />
3 
4 /* 調用插件*/
5 $(function() {
6     $("img.lazy").lazyload();
7 });
複製代碼

提示:這裏必須設置圖片的width和height,不然插件可能沒法正常工做。佈局

 

這樣就成功調用了,下面咱們能夠設置幾個配置參數:性能

 

一、設置加載臨界點網站

默認狀況下圖片會出如今屏幕時加載. 若是你想提早加載圖片, 能夠設置threshold 選項, 設置 threshold 爲 200 令圖片在距離屏幕 200 像素時提早加載.spa

1 $("img.lazy").lazyload({
2     threshold : 200
3 })

二、設置觸發加載事件插件

你可使用jquery事件,例如click和mouseover。也可使用自定義事件,如sporty、foobar默認狀況下是要等到用戶向下滾動而且圖像出如今視口中時。只有當用戶點擊它們才加載圖片:code

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

三、使用延時加載特效

默認狀況下,插件等待圖像徹底加載並調用show()。你可使用任何你想要的效果。下面的代碼使用fadeIn (淡入效果)。

1 $("img.lazy").lazyload({
2     effect : "fadeIn" //淡入效果
3 });

四、針對不啓用JavaScript的狀況

幾乎全部瀏覽器的 JavaScript 都是激活的. 然而可能你仍但願能在不支持 JavaScript 的客戶端展現真實圖片. 當瀏覽器不支持 JavaScript 時優雅降級, 你能夠將真實的圖片片斷在寫 <noscript> 標籤內.

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

能夠經過 CSS 隱藏佔位符.

1 .lazy {
2     display: none;
3 }

在支持 JavaScript 的瀏覽器中, 你必須在 DOM ready 時將佔位符顯示出來, 這能夠在插件初始化的同時完成.

1 $("img.lazy").show().lazyload();

五、圖片在容器裏面

你能夠將插件用在可滾動容器的圖片上, 例如帶滾動條的 DIV 元素. 你要作的只是將容器定義爲 jQuery 對象並做爲參數傳到初始化方法裏面.

六、當圖像不連續時設置不在可見區域內的圖片數

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

1 $("img.lazy").lazyload({
2     failure_limit : 10
3 });

七、延時加載隱藏的圖片

可能在你的頁面上埋藏可不少隱藏的圖片, 好比插件用在對列表的篩選, 你能夠不斷地修改列表中各條目的顯示狀態. 爲了提高性能,,jquery.lazyload.js默認忽略了隱藏圖片. 若是你想要加載隱藏圖片, 請將 skip_invisible 設爲 false.

 

完結,如有補充,感激涕零!

相關文章
相關標籤/搜索