
Интерактивный аккордеон с динамической сменой изображений в Elementor — это отличный способ сделать ваш сайт более привлекательным и удобным для пользователей. В этой статье мы разберем, как настроить аккордеон, чтобы при открытии каждой вкладки отображалось соответствующее изображение, используя готовый JavaScript и CSS код.
Шаг 1: Настройка аккордеона в Elementor
- Добавление виджета аккордеона:
- В редакторе Elementor перетащите виджет «Аккордеон» на страницу.
- Настройте содержимое аккордеона, добавив нужное количество вкладок (например, 4).
- Для каждой вкладки задайте заголовок и содержимое, например:
- Вкладка 1: «Описание 1» → Текст или контент.
- Вкладка 2: «Описание 2» → Текст или контент.
- Вкладка 3: «Описание 3» → Текст или контент.
- Вкладка 4: «Описание 4» → Текст или контент.
Шаг 2: Добавление изображений
- Создание контейнера для изображений:
- Добавьте секцию или контейнер рядом с аккордеоном, где будут отображаться изображения.
- Внутри контейнера разместите 4 виджета «Изображение» для каждого изображения.
- Присвойте каждому изображению уникальный CSS-класс:
- Первое изображение:
img-1
- Второе изображение:
img-2
- Третье изображение:
img-3
- Четвертое изображение:
img-4
- Первое изображение:
- Настройка стилей для изображений:
- Используйте следующий CSS-код, чтобы изначально скрыть все изображения и отображать только активное:
css .img-1, .img-2, .img-3, .img-4 { display: none; } .img-1.active, .img-2.active, .img-3.active, .img-4.active { display: block; }
- В Elementor добавьте этот CSS в раздел «Дополнительно» → «Пользовательский CSS» для секции с изображениями или в глобальные стили сайта.
Шаг 3: Подключение JavaScript для интерактивности
Для динамической смены изображений при переключении вкладок аккордеона используйте следующий JavaScript-код, который отслеживает клики по заголовкам вкладок и активирует соответствующее изображение:
jQuery(document).ready(function($) {
const imageMap = {
1: '.img-1',
2: '.img-2',
3: '.img-3',
4: '.img-4'
};
function showImage(index) {
$('.img-1, .img-2, .img-3, .img-4').removeClass('active');
if(imageMap[index]) {
$(imageMap[index]).addClass('active');
}
}
const openItem = $('.e-n-accordion-item[open]');
if(openItem.length) {
const index = openItem.find('summary').data('accordion-index');
showImage(index);
}
$('.e-n-accordion-item summary').on('click', function() {
const index = $(this).data('accordion-index');
setTimeout(() => {
if($(this).parent().attr('open') !== undefined) {
showImage(index);
}
}, 50);
});
});
Как добавить JavaScript:
- В Elementor добавьте виджет «HTML» в любую часть страницы.
- Вставьте код выше в тег
<script>
внутри виджета HTML:
<script>
// Вставьте JavaScript-код здесь
</script>
- Убедитесь, что jQuery подключен (он включен по умолчанию в WordPress и Elementor).
Шаг 4: Тестирование и оптимизация
- Проверка функциональности:
- Сохраните страницу и откройте её в режиме предварительного просмотра.
- Кликните по заголовкам аккордеона, чтобы убедиться, что изображения меняются в соответствии с активной вкладкой.
- Если одна из вкладок открыта по умолчанию, соответствующее изображение должно отображаться при загрузке страницы.
- Дополнительные улучшения:
- Для плавной смены изображений добавьте анимацию в CSS:
css .img-1, .img-2, .img-3, .img-4 { display: none; opacity: 0; transition: opacity 0.3s ease-in-out; } .img-1.active, .img-2.active, .img-3.active, .img-4.active { display: block; opacity: 1; }
- Это обеспечит плавное появление изображений при переключении.
Полезные советы
- Оптимизация изображений: Используйте изображения в формате WebP или сжатые JPEG для ускорения загрузки страницы.
- Адаптивный дизайн: Проверьте отображение аккордеона и изображений на мобильных устройствах. В Elementor настройте размеры изображений для разных разрешений экрана.
Заключение
С помощью виджета аккордеона в Elementor, предоставленного JavaScript и CSS кода вы можете создать интерактивный аккордеон, который меняет изображения при переключении вкладок. Это решение делает ваш сайт более динамичным и улучшает пользовательский опыт. Попробуйте внедрить этот аккордеон на своём сайте и экспериментируйте с анимациями для ещё большего эффекта.