// инициализация LazyLoad document.addEventListener('DOMContentLoaded', async () => { await window.waitForGlobalVar('loadScripts'); loadScripts([ '/front/site/libs/lazyload/lazyload.min.js', ], { position: "append", target: document.body, onReady: async () => { window.lazyLoadUpdate = async () => { await window.waitForGlobalVar('lazyLoadInstance') if(typeof window.lazyLoadInstance === 'object') { window.lazyLoadInstance.update(); } } /* (async () => { console.log('LazyLoad start'); await window.waitForGlobalVar('LazyLoad'); console.log('LazyLoad finish'); })(); */ await window.waitForGlobalVar('LazyLoad'); window.lazyLoadInstance = new LazyLoad({ elements_selector: ".lazy", class_loading: 'lazy-loading', class_loaded: 'lazy-loaded', // Callback, который срабатывает, когда изображение успешно загрузилось callback_loaded: (el, instance) => { //console.log("Изображение полностью загрузилось!", el); el.parentNode.classList.remove('preloader-bg'); el.parentNode.parentNode.classList.remove('preloader-bg'); // Здесь можно делать любое действие: // - убрать прелоадер // - добавить анимацию fade-in // - запустить какой-то скрипт // - поменять классы и т.д. //el.classList.add("fade-in"); // пример // или // hidePreloaderFor(el); } }); await window.waitForGlobalVar('$'); $(document).on('mse2_load', async function (e, data) { await window.waitForGlobalVar('lazyLoadUpdate'); window.lazyLoadUpdate(); }); // открытие любого модального окна Jquery-modal $(document).on('modal:open', async function(event, modal) { await window.waitForGlobalVar('lazyLoadUpdate'); window.lazyLoadUpdate(); }); } }).then(() => { // альтернативно здесь }).catch(console.error); })