const setBanner = (function () { const url = "https://anettaschool.ru/banners-page"; async function fetchBannersData() { try { const response = await fetch(url); return await response.text(); } catch (error) { console.error("Failed to fetch banners data: ", error); throw error; } } async function getBanners() { const lessonList = document.querySelector(".xdget-lessonList"); const streamTable = document.querySelector(".stream-table"); if (!lessonList && !streamTable) { console.error("No elements in document"); return; } try { const container = document.createElement("div"); const bannerData = await fetchBannersData(); const parser = new DOMParser(); const doc = parser.parseFromString(bannerData, "text/html"); const bannersElements = Array.from(doc.querySelectorAll(".banner-item")); let count = 0; container.classList.add("banner-wrapper"); bannersElements.forEach((banner) => { container.appendChild(banner); }); lessonList ? lessonList.prepend(container) : streamTable.prepend(container); function rotateBanner() { const lastBanner = bannersElements.pop(); bannersElements.unshift(lastBanner); container.innerHTML = ""; bannersElements.forEach((banner) => { container.appendChild(banner); }); count = ++count % bannersElements.length; } setInterval(rotateBanner, 8000); } catch (error) { console.error("getBanners failed: ", error); } } return { init: getBanners } })(); document.addEventListener("DOMContentLoaded", setBanner.init);