DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> Jquery.LazyLoad.js修正版下載,實現圖片延遲加載插件
Jquery.LazyLoad.js修正版下載,實現圖片延遲加載插件
編輯:JQuery特效代碼     
從網上下載來的版本多多少少都有些BUG,尤其是加載後在IE6和IE7下圖片閃動是個大問題,在網上查了很久,也沒有找到相關的解決方案。沒解決方案,就得發揮咱DIY的精神,自己想法解決,分析了BUG,理了理思路,結合前段時間我做彈出窗口特效的方法,解決了Jquery.LazyLoad.js的兼容問題,現將思路和方法與大家分享一下。

解決思路大致是兩點,一是從LazyLoad本身的濾鏡參數下手,發現有一個參數在IE6和IE7是可以用的,就是show,那麼在IE6和IE7下用這個特效;二是IE8以上(包括IE8)、FireFox,Chrome等非IE核心的浏覽器對fadeIn特效都支持,那麼在這些版本的浏覽器中就使用這種酷酷的特效。

思路出來了,就想辦法解決:

1、首先用JQ判斷浏覽器類型及版本,如果是IE8以下的浏覽器就用effect=show,否則就用effect=fadeIn,判斷浏覽器版本函數如下:
代碼如下:
function checkbrowse() {
var ua = navigator.userAgent.toLowerCase();
var is = (ua.match(/\b(chrome|opera|safari|msie|firefox)\b/) || ['', 'mozilla'])[1];
var r = '(?:' + is + '|version)[\\/: ]([\\d.]+)';
var v = (ua.match(new RegExp(r)) || [])[1];
jQuery.browser.is = is;
jQuery.browser.ver = v;
return {
'is': jQuery.browser.is,
'ver': jQuery.browser.ver
}
}

我是將以上的代碼加入了JQ包裡,方便以後使用,路徑是http://demo.jb51.net/js/2011/lazyload/Js/lazyload/jquery.js。

2、改造Jquery.LazyLoad.js函數,根據浏覽器版本來顯示不同的濾鏡效果:
代碼如下:
var public = checkbrowse();
var showeffect = "";
if ((public['is'] == 'msie' && public['ver'] < 8.0)) {
showeffect = "show"
} else {
showeffect = "fadeIn"
}
jQuery(document).ready(function($) {
$("img").lazyload({
placeholder: "http://demo.jb51.net/js/2011/lazyload/Js/lazyload/grey.gif",
effect: showeffect,
failurelimit: 10
})
});

Jquery.LazyLoad.js使用方法:
1、將以下文件存放在同一目錄下面:
jquery.js
jquery.layzload.js
grey.gif
2、在需要使用特效的地方加上如下的代碼:
<script type="text/javascript" src="http://demo.jb51.net/js/2011/lazyload/Js/lazyload/jquery.js"></script>
<script type="text/javascript" src="http://demo.jb51.net/js/2011/lazyload/Js/lazyload/jquery.lazyload.js"></script>

Jquery.LazyLoad.js插件修正版下載:
lazyload.rar
Jquery.LazyLoad.js插件參數詳解:
下面對LazyLoad插件的一些參數進行說明,供使用者做出更貼切的效果。

1,用圖片提前占位
placeholder : "img/grey.gif",
參數:placeholder,值為某一圖片路徑.此圖片用來占據將要加載的圖片的位置,待圖片加載時,占位圖則會隱藏

2,載入使用何種效果
effect : "fadeIn",
參數:effect(特效),值有show(直接顯示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn

3,提前開始加載
threshold : 200,
參數:threshold,值為數字,代表頁面高度.如設置為200,表示滾動條在離目標位置還有200的高度時就開始加載圖片,可以做到不讓用戶察覺.

4,事件觸發時才加載
event : "click",
參數:event,值有click(點擊),mouseover(鼠標劃過),sporty(運動的),foobar(…).可以實現鼠標莫過或點擊圖片才開始加載,後兩個值未測試…

5,對某容器中的圖片實現效果
container: $("#container"),
參數:container,值為某容器.lazyload默認在拉動浏覽器滾動條時生效,這個參數可以讓你在拉動某DIV的滾動條時依次加載其中的圖片

6,圖片排序混亂時
failurelimit : 10,
參數:failurelimit,值為數字.lazyload默認在找到第一張不在可見區域裡的圖片時則不再繼續加載,但當HTML容器混亂的時候可能出現可見區域內圖片並沒加載出來的情況,failurelimit意在加載N張可見區域外的圖片,以避免出現這個問題.
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved