UNPKG

@wezom/zz-load

Version:

Lazy loader based on IntersectionObserver API

40 lines (39 loc) 948 B
import attrs from '../config/attrs'; export default function (element, resource, _a, loadActions, errorActions) { var setSourcesOnlyOnLoad = _a.setSourcesOnlyOnLoad; var srcset = element.getAttribute(attrs.sourceSrcSet); if (setSourcesOnlyOnLoad) { var img = document.createElement('img'); img.addEventListener('error', function (event) { return errorActions(event, resource); }); img.addEventListener('load', function (event) { if (srcset) { element.srcset = srcset; } element.src = resource; loadActions(event, resource); }); if (srcset) { img.srcset = srcset; } img.src = resource; } else { element.addEventListener('error', function (event) { return errorActions(event, resource); }); element.addEventListener( 'load', function (event) { loadActions(event, resource); }, { once: true } ); if (srcset) { element.srcset = srcset; } element.src = resource; } }