@wezom/zz-load
Version:
Lazy loader based on IntersectionObserver API
25 lines (24 loc) • 663 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
function default_1(
element,
resource,
{ setSourcesOnlyOnLoad },
loadActions,
errorActions
) {
const setSourceImmediately = setSourcesOnlyOnLoad !== true;
const img = document.createElement('img');
img.addEventListener('error', (event) => errorActions(event, resource));
img.addEventListener('load', (event) => {
if (setSourcesOnlyOnLoad) {
element.style.backgroundImage = `url(${resource})`;
}
loadActions(event, resource);
});
img.src = resource;
if (setSourceImmediately) {
element.style.backgroundImage = `url(${resource})`;
}
}
exports.default = default_1;