@wezom/zz-load
Version:
Lazy loader based on IntersectionObserver API
19 lines (18 loc) • 620 B
JavaScript
export default function (element, resource, _a, loadActions, errorActions) {
var setSourcesOnlyOnLoad = _a.setSourcesOnlyOnLoad;
var setSourceImmediately = setSourcesOnlyOnLoad !== true;
var img = document.createElement('img');
img.addEventListener('error', function (event) {
return errorActions(event, resource);
});
img.addEventListener('load', function (event) {
if (setSourcesOnlyOnLoad) {
element.style.backgroundImage = 'url(' + resource + ')';
}
loadActions(event, resource);
});
img.src = resource;
if (setSourceImmediately) {
element.style.backgroundImage = 'url(' + resource + ')';
}
}