'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);
});