-
Notifications
You must be signed in to change notification settings - Fork 245
/
jquery.lazyloadxt.simple.min.js
2 lines (2 loc) · 1.27 KB
/
jquery.lazyloadxt.simple.min.js
1
2
/* Lazy Load XT 0.8.10 | MIT License */
!function(a,b,c){function d(){var a=n.scrollTop(),c=b.pageXOffset||0,d=m.edgeX,e=m.edgeY;i=a-e,j=a+(b.innerHeight||n.height())+e,k=c-d,l=c+(b.innerWidth||n.width())+d}function e(){if(o.length){p=1/0,d();for(var b=o.length-1,e=m.srcAttr;b>=0;b--){var f=o[b],g=f[0];if(a.contains(c.documentElement,g)){if(!m.visibleOnly||g.offsetWidth>0||g.offsetHeight>0){var h=f.offset(),n=h.top,q=h.left;if(j>n&&n+f.height()>i&&l>q&&q+f.width()>k){var r=f.attr(e);r&&f.attr("src",r),o.splice(b,1)}else p>n&&(p=n)}}else o.splice(b,1)}}}function f(){q>1?(q=1,e(),setTimeout(f,m.throttle)):q=0}function g(a){o.length&&(a&&"scroll"===a.type&&(d(),p>=j)||(q||setTimeout(f,0),q=2))}function h(){a(b).lazyLoadXT()}var i,j,k,l,m={selector:"img",srcAttr:"data-src",classNojs:"lazy",edgeX:0,edgeY:0,throttle:99,visibleOnly:!0,loadEvent:"pageshow",updateEvent:"load orientationchange resize scroll"},n=a(b),o=[],p=0,q=0;a.lazyLoadXT=a.extend(m,a.lazyLoadXT),a.fn.lazyLoadXT=function(){return this.each(function(){if(this===b)return a(m.selector).lazyLoadXT(),void 0;var c=a(this);c.data("lazied")||(c.data("lazied",1).removeClass(m.classNojs),o.unshift(c))}),g(),this},a(c).ready(function(){n.on(m.loadEvent,h).on(m.updateEvent,g),h()})}(window.jQuery||window.Zepto,window,document);