| var lazyLoad = { | |
| ? | Init: function () { |
| ? | return $("img[lazyload]"); |
| ? | }, |
| ? | Calculate: function (lazyloadobject) { |
| ? | var windowHeight = $(window).height(); |
| ? | var arrReturn = {}; |
| ? | var _scrollTop; |
| ? | if (lazyloadobject.length == 0) { |
| ? | return null; |
| ? | } |
| ? | else { |
| ? | lazyloadobject.each(function (i) { |
| ? | _scrollTop = parseInt($(this).offset().top - windowHeight); |
| ? | if (!arrReturn.hasOwnProperty(_scrollTop)) { |
| ? | arrReturn[_scrollTop] = new Array(); |
| ? | } |
| ? | arrReturn[_scrollTop].push($(this)); |
| ? | }); |
| ? | this.ArrLoad = arrReturn; |
| ? | return arrReturn; |
| ? | } |
| ? | }, |
| ? | ArrLoad: null, |
| ? | IsLoad: function (scrolltop, objectstop) { |
| ? | if (objectstop != null && objectstop != {}) { |
| ? | for (i in this.ArrLoad) { |
| ? | if (parseInt(i) <= scrolltop && this.ArrLoad.hasOwnProperty(i)) { |
| ? | for (j = 0; j < this.ArrLoad[i].length; j++) { |
| ? | this.ArrLoad[i][j].attr("src", this.ArrLoad[i][j].attr("lazyload")).removeAttr("lazyload"); |
| ? | } |
| ? | delete this.ArrLoad[i]; |
| ? | } |
| ? | } |
| ? | } |
| ? | }, |
| ? | Run: function () { |
| ? | var lazyLoadObject = this.Init(); |
| ? | this.Calculate(lazyLoadObject); |
| ? | arrScrollTop = this.ArrLoad; |
| ? | if (arrScrollTop == null) { |
| ? | return false; |
| ? | } |
| ? | else { |
| ? | var _this = this; |
| ? | _this.IsLoad($(window).scrollTop(), arrScrollTop); |
| ? | $(window).scroll(function () { |
| ? | _this.IsLoad($(this).scrollTop(), arrScrollTop); |
| ? | }); |
| ? | } |
| ? | } |
| ? | } |
| ? | $(function () { |
| ? | lazyLoad.Run(); |
| ? | }); |
| ? | $(window).resize(function () { |
| ? | lazyLoad.Run(); |
| ? | }); |
详细解决方案
减小图片请求,分批加载图片
热度:200 发布时间:2013-09-18 14:17:40.0
相关解决方案