mirror of https://github.com/toddmotto/echo.git
jinlong
9 years ago
5 changed files with 28 additions and 2 deletions
@ -0,0 +1,22 @@
|
||||
{ |
||||
"name": "echojs", |
||||
"version": "1.7.3", |
||||
"homepage": "https://github.com/toddmotto/echo", |
||||
"authors": [ |
||||
"@toddmotto" |
||||
], |
||||
"description": "Lazy-loading with data-* attributes, offset and throttle options", |
||||
"main": "src/echo.js", |
||||
"moduleType": [], |
||||
"keywords": [ |
||||
"echo" |
||||
], |
||||
"license": "MIT", |
||||
"ignore": [ |
||||
"**/.*", |
||||
"node_modules", |
||||
"bower_components", |
||||
"test", |
||||
"tests" |
||||
] |
||||
} |
@ -1,2 +1,2 @@
|
||||
/*! echo-js v1.7.3 | (c) 2015 @toddmotto | https://github.com/toddmotto/echo */ |
||||
/*! echo-js v1.7.3 | (c) 2016 @toddmotto | https://github.com/toddmotto/echo */ |
||||
!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t)}):"object"==typeof exports?module.exports=e:t.echo=e(t)}(this,function(t){"use strict";var e,o,n,r,c,a={},u=function(){},d=function(t){return null===t.offsetParent},l=function(t,e){if(d(t))return!1;var o=t.getBoundingClientRect();return o.right>=e.l&&o.bottom>=e.t&&o.left<=e.r&&o.top<=e.b},i=function(){(r||!o)&&(clearTimeout(o),o=setTimeout(function(){a.render(),o=null},n))};return a.init=function(o){o=o||{};var a=o.offset||0,d=o.offsetVertical||a,l=o.offsetHorizontal||a,f=function(t,e){return parseInt(t||e,10)};e={t:f(o.offsetTop,d),b:f(o.offsetBottom,d),l:f(o.offsetLeft,l),r:f(o.offsetRight,l)},n=f(o.throttle,250),r=o.debounce!==!1,c=!!o.unload,u=o.callback||u,document.addEventListener?(t.addEventListener("scroll",i,!1),t.addEventListener("load",i,!1)):(t.attachEvent("onscroll",i),t.attachEvent("onload",i))},a.render=function(){for(var o,n,r=document.querySelectorAll("img[data-echo], [data-echo-background]"),d=r.length,i={l:0-e.l,t:0-e.t,b:(t.innerHeight||document.documentElement.clientHeight)+e.b,r:(t.innerWidth||document.documentElement.clientWidth)+e.r},f=0;d>f;f++)n=r[f],l(n,i)?(c&&(n.getAttribute("data-echo-placeholder")||n.setAttribute("data-echo-placeholder",n.src)),null!==n.getAttribute("data-echo-background")?n.style.backgroundImage="url("+n.getAttribute("data-echo-background")+")":n.src=n.getAttribute("data-echo"),c||(n.removeAttribute("data-echo"),n.removeAttribute("data-echo-background")),u(n,"load")):c&&(o=n.getAttribute("data-echo-placeholder"))&&(null!==n.getAttribute("data-echo-background")?n.style.backgroundImage="url("+o+")":n.src=o,n.removeAttribute("data-echo-placeholder"),u(n,"unload"));d||a.detach()},a.detach=function(){document.removeEventListener?t.removeEventListener("scroll",i):t.detachEvent("onscroll",i),clearTimeout(o)},a}); |
Loading…
Reference in new issue