UNPKG

@wezom/zz-load

Version:

Lazy loader based on IntersectionObserver API

49 lines (48 loc) 1.14 kB
'use strict'; var __importDefault = (this && this.__importDefault) || function (mod) { return mod && mod.__esModule ? mod : { default: mod }; }; Object.defineProperty(exports, '__esModule', { value: true }); const attrs_1 = __importDefault(require('../config/attrs')); function default_1( element, resource, { setSourcesOnlyOnLoad }, loadActions, errorActions ) { const srcset = element.getAttribute(attrs_1.default.sourceSrcSet); if (setSourcesOnlyOnLoad) { const img = document.createElement('img'); img.addEventListener('error', (event) => errorActions(event, resource)); img.addEventListener('load', (event) => { if (srcset) { element.srcset = srcset; } element.src = resource; loadActions(event, resource); }); if (srcset) { img.srcset = srcset; } img.src = resource; } else { element.addEventListener('error', (event) => errorActions(event, resource)); element.addEventListener( 'load', (event) => { loadActions(event, resource); }, { once: true } ); if (srcset) { element.srcset = srcset; } element.src = resource; } } exports.default = default_1;