首页 > 代码库 > 页面的懒加载

页面的懒加载

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

  

页面的懒加载