Как мне создать скрипт, который будет отображать изображение с использованием Bootstrap 5 и JavaScript?

Здравствуйте! <br/> Я работаю над созданием слайдера или аккордеона. <br/> Как можно реализовать переключение между большими изображениями так, чтобы при нажатии на мини-изображение_1 открывалось большое-изображение_1, а при нажатии на мини-изображение_2 скрывалось большое-изображение_1 и открывалось большое-изображение_2? <br/> У меня есть следующий код: <br/> 1. Блок с мини-изображениями .shop-item-ph. <br/> 2. Блок с большим изображением .col-7 mx-auto mb-3. <br/> <br/> <pre><code>&lt;div class="shop-item-ph"&gt;
					&lt;div class="mb-3"&gt;
						&lt;a class="items-ph" href=""&gt;&lt;img class="itemimage img-fluid" id="#itemimage" src="img/item2.webp" alt=""&gt;&lt;/a&gt;
					&lt;/div&gt;
					&lt;div class="mb-3"&gt;
						&lt;a class="items-ph" href=""&gt;&lt;img class="img-fluid" id="#itemimage" src="img/item3.webp" alt=""&gt;&lt;/a&gt;
					&lt;/div&gt;
					&lt;div class="mb-3"&gt;
						&lt;a class="items-ph" href=""&gt;&lt;img class="img-fluid" id="#itemimage" src="img/item4.webp" alt=""&gt;&lt;/a&gt;
					&lt;/div&gt;
					&lt;div class="mb-3"&gt;
						&lt;a class="items-ph" href=""&gt;&lt;img class="img-fluid" id="#itemimage" src="img/item5.webp" alt=""&gt;&lt;/a&gt;
					&lt;/div&gt;
					&lt;div class="mb-3"&gt;
						&lt;a class="items-ph" href=""&gt;&lt;img class="img-fluid" id="#itemimage" src="img/item6.webp" alt=""&gt;&lt;/a&gt;
					&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
			&lt;div class="col-7 mx-auto mb-3"&gt;
				&lt;img class="img-fluid" id="mainImage" src="img/item2.webp" alt=""&gt;
			&lt;/div&gt;</code></pre> <br/> <br/>
  • 6 октября 2024 г. 10:14
Ответы на вопрос 2
Вы можете реализовать переключение между большими изображениями на JavaScript, обновляя атрибут `src` большого изображения в зависимости от того, какое мини-изображение было нажато. Вот пример кода, который реализует вашу задачу:

```html
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.1.3/css/bootstrap.min.css" rel="stylesheet">
    <title>Слайдер изображений</title>
</head>
<body>

<div class="container">
    <div class="row">
        <div class="shop-item-ph col-5">
            <div class="mb-3">
                <a class="items-ph" href="javascript:void(0);" onclick="changeImage('img/item2.webp')">
                    <img class="itemimage img-fluid" src="img/item2.webp" alt="">
                </a>
            </div>
            <div class="mb-3">
                <a class="items-ph" href="javascript:void(0);" onclick="changeImage('img/item3.webp')">
                    <img class="img-fluid" src="img/item3.webp" alt="">
                </a>
            </div>
            <div class="mb-3">
                <a class="items-ph" href="javascript:void(0);" onclick="changeImage('img/item4.webp')">
                    <img class="img-fluid" src="img/item4.webp" alt="">
                </a>
            </div>
            <div class="mb-3">
                <a class="items-ph" href="javascript:void(0);" onclick="changeImage('img/item5.webp')">
                    <img class="img-fluid" src="img/item5.webp" alt="">
                </a>
            </div>
            <div class="mb-3">
                <a class="items-ph" href="javascript:void(0);" onclick="changeImage('img/item6.webp')">
                    <img class="img-fluid" src="img/item6.webp" alt="">
                </a>
            </div>
        </div>
        <div class="col-7 mx-auto mb-3">
            <img class="img-fluid" id="mainImage" src="img/item2.webp" alt="">
        </div>
    </div>
</div>

<script>
    function changeImage(imageSrc) {
        document.getElementById('mainImage').src = imageSrc;
    }
</script>

</body>
</html>
```

### Объяснение кода:
1. **HTML-разметка**: 
    - В блоке с мини-изображениями `shop-item-ph` находятся ссылки с мини-изображениями.
    - У каждой ссылки есть обработчик события `onclick`, который вызывает функцию `changeImage`, передавая ей путь к изображению.

2. **Функция `changeImage`**: 
    - Эта функция принимает один параметр (путь к изображению).
    - Она обновляет атрибут `src` элемента большого изображения `mainImage` на переданный путь.

3. **JavaScript и Bootstrap**: 
    - Используется готовая структура Bootstrap для удобного управляемого макета.
    - Код JavaScript встроен в исходный код страницы, что делает его простым для тестирования и использования.

Этот код обеспечит простой механизм переключения изображений при нажатии на мини-изображения. Вы можете настроить пути к вашим изображениям в зависимости от реальной структуры каталогов вашего проекта.
Через radio кнопки и label делайте если без js. Вот пример "на коленках" сделал: 
Похожие вопросы