페이지의 게으름 피우기 로드
'lazyQueue': {},
'isVisiable': function(elem) {
if (!elem) return false;
// console.log(($(window).scrollTop()+"::"+($(elem).offset().top+$(elem).outerHeight()))+"::"+(($(window).scrollTop()+$(window).height())+"::"+$(elem).offset().top))
return ($(window).scrollTop() <= ($(elem).offset().top + $(elem).outerHeight())) && (($(window).scrollTop() + $(window).height()) > $(elem).offset().top);
},
'lazyload': function(elem, htmlcode, item, cb) {
elem.html(htmlcode.html);
elem.css('display', 'block');
if (elem && elem.length != 0) {
var top = elem.offset().top;
if (this.isVisiable(elem)) {
this.showImg(elem);
cb && cb.apply(this, arguments);
return;
}
if (this.lazyQueue[top]) {
this.lazyQueue[top].push({
'elem': elem,
'html': htmlcode,
'item': item,
'loaded': false,
'callback': cb
});
} else {
this.lazyQueue[top] = [{
'elem': elem,
'loaded': false,
'callback': cb
}];
}
}
},
'showImg': function(elem) {
var imgs = elem.find('img');
for (var i = 0; i < imgs.length; i++) {
$(imgs[i]).attr('src', $(imgs[i]).attr('data-src')).fadeIn(500);
}
},
$(window).bind("scroll", function() {
var Ad = LETV.using('Plugin').AD;
if (Ad.lazySt)
clearTimeout(Ad.lazySt);
Ad.lazySt = setTimeout(function() {
var curHeight = $(window).height() + $(window).scrollTop(),
lazyQueue = Ad.lazyQueue;
for (var key in lazyQueue) {
if (lazyQueue.hasOwnProperty(key)) {
var item = lazyQueue[key];
if (!item) continue;
for (var j = 0; j < item.length; j++) {
var mItem = item[j];
if (mItem && !mItem.loaded && Ad.isVisiable(mItem.elem)) {
if (mItem.loaded === false) {
mItem.cb && typeof mItem.cb == 'function' && mItem.cb();
Ad.showImg(mItem.elem);
mItem.loaded = true;
} else {
mItem = null;
}
}
}
}
}
}, 200);
});
다음으로 전송:https://www.cnblogs.com/coding4/p/5864490.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.