Модификация помогает добавить текстовое описание и кнопку на каждый слайд стандартного слайдера Тильда в зеро-блок

Добавляем текст и кнопку в стандартный слайдер Тильда

Инструкция

Добавляем стандартный слайдер в зеро-блок на 3-5 слайдов
Добавьте тексты с классом
и нумерацией: slide-txt-1 и кнопки
с классом: slide-btn-1. Обязательно разместите их друг под другом!
Вставьте код в блок "Другое" - Т123 в подвал вашего сайта
Код скопирован
Код для вставки:
Код написан на коленке, используйте осторожно. Не оказываем поддержку и доработку модификаций!
<!-- Добавляем текст и кнопку в стандартный слайдер Тильда | youx.agency -->
<!-- https://youx.agency/dobavlyaem-knopku-v-standartnyj-slajder-tilda -->

<style>
/* Изначально плавно и намертво скрываем элементы, сохраняя их позиционирование */
.slide-txt-1, .slide-txt-2, .slide-txt-3, .slide-txt-4, .slide-txt-5,
.slide-btn-1, .slide-btn-2, .slide-btn-3, .slide-btn-4, .slide-btn-5 {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

/* Этот класс включает нужную пару БЕЗ изменения display, ломая баг выравнивания */
.el-show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
</style>

<script>
document.addEventListener("DOMContentLoaded", function() {
    setTimeout(function() {
        const sliderWrapper = document.querySelector('.my-slider');
        if (!sliderWrapper) return;

        function syncElements() {
            // Находим активную точку слайдера
            const activeDot = sliderWrapper.querySelector('.t-slds__bullet_active');
            if (!activeDot) return;

            // Вычисляем чистый порядковый номер слайда (от 1 до 5)
            const dotParent = activeDot.parentNode;
            const activeIndex = Array.from(dotParent.children).indexOf(activeDot) + 1;

            // Скрываем абсолютно все кнопки и тексты через удаление класса
            for (let i = 1; i <= 5; i++) {
                const txt = document.querySelector('.slide-txt-' + i);
                const btn = document.querySelector('.slide-btn-' + i);
                if (txt) txt.classList.remove('el-show');
                if (btn) btn.classList.remove('el-show');
            }

            // Включаем только ту пару, которая соответствует активному слайду
            const currentTxt = document.querySelector('.slide-txt-' + activeIndex);
            const currentBtn = document.querySelector('.slide-btn-' + activeIndex);

            if (currentTxt) currentTxt.classList.add('el-show');
            if (currentBtn) currentBtn.classList.add('el-show');
        }

        // Запускаем проверку каждые 150 миллисекунд
        setInterval(syncElements, 150);

    }, 1000);
});
</script>

Другие модификации

Made on
Tilda