Мейнстрим
Главная
Товары
Контакты
Доставка
Личный кабинет
Избранное
Выйти
❮
❯
📚 Статьи о питании
Как правильно кормить собаку
Баланс в рационе
Сухой корм vs Натуралка
Аллергии у собак
Чем кормить щенка
Питание пожилых собак
График кормления
Важность воды
Выберите статью
Чтобы прочитать статью, нажмите на неё слева.
/* === Динамический слайдер === */ async function initSlider() { try { // Загружаем слайды с сервера const response = await fetch('/api/slides'); if (!response.ok) throw new Error('Ошибка загрузки слайдов'); const slides = await response.json(); // Если нет слайдов - показываем заглушку if (slides.length === 0) { document.getElementById('slider-section').style.display = 'none'; return; } const container = document.getElementById('slides-container'); container.innerHTML = ''; // Создаем слайды динамически slides.forEach((slide, index) => { const slideEl = document.createElement('div'); slideEl.className = `slide ${index === 0 ? 'active' : ''}`; slideEl.style.backgroundImage = `url('${slide.imageUrl}')`; slideEl.innerHTML = `
${slide.title ? `
${slide.title}
` : ''} ${slide.description ? `
${slide.description}
` : ''}
`; container.appendChild(slideEl); }); // Инициализируем логику слайдера const slidesElements = document.querySelectorAll('.slide'); const slidesCount = slidesElements.length; let currentSlide = 0; let autoInterval; function moveSlide(step = 1) { currentSlide = (currentSlide + step + slidesCount) % slidesCount; container.style.transform = `translateX(-${currentSlide * 100}%)`; slidesElements.forEach((s, i) => s.classList.toggle('active', i === currentSlide)); } function startAuto() { stopAuto(); if (slidesCount > 1) { autoInterval = setInterval(moveSlide, 5000); } } function stopAuto() { clearInterval(autoInterval); } // Инициализация startAuto(); document.querySelector('.prev').addEventListener('click', () => moveSlide(-1)); document.querySelector('.next').addEventListener('click', () => moveSlide(1)); const slider = document.querySelector('.slider'); slider.addEventListener('mouseenter', stopAuto); slider.addEventListener('mouseleave', startAuto); } catch (error) { console.error('Ошибка инициализации слайдера:', error); // Можно добавить fallback на статические слайды при ошибке } } // Запускаем при загрузке страницы document.addEventListener('DOMContentLoaded', initSlider);