2 回答

TA貢獻1825條經(jīng)驗 獲得超4個贊
lazyload是一個插件功能,不能一個事件~,所以不存在委托什么的
你可以在批量添加完一批圖片時,統(tǒng)一的添加上一個自定義的標識類
例如.watched,避免已經(jīng)被lazyload標識過的被再次lazyload.
可能這個特性在lazyload中已經(jīng)存在,我相應會有的
然后通過
$(".img.lazy:not(.watched)").lazyload({
effect : "fadeIn"
});
lazyLoad基本上使用如下方法實現(xiàn)
function lazyLoad(imgDOM,resultCallback){
var imgSrc,tempImg;
if($(imgDOM).hasClass("watched")||$(imgDOM).attr("data-loaded")==="done"){
return;
}
imgSrc=$(imgDOM).attr("data-origin-src");
tempImg=new Image();
tempImg.onload=function(){
$(imgDOM).attr("src",imgSrc);
$(imgDOM).attr("data-loaded","done");
doneFlag=true;
resultCallback&&resultCallback.apply(imgDOM,[]);
tempImg=null;
}
tempImg.src=imgSrc;
}
添加回答
舉報