Будем создавать слайдер изображений на JavaScript, CSS и HTML. Слайдер будет иметь возможность перелистывать картинки автоматически и с кнопками назад и вперед и эффектом переходов.

  1. Создайте HTML-разметку для слайдера, включающую контейнер для изображений, кнопки вперед и назад и классы для стилизации.
<!DOCTYPE html>
<html>
<head>
  <title>Image Slider</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <div id="slider">
    <div class="slider-container">
      <img src="images/img1.jpeg" alt="image1" class="active">
      <img src="images/img2.jpeg" alt="image2">
      <img src="images/img3.jpeg" alt="image3">
    </div>
    <div class="buttons">
      <button class="prev">Previous</button>
      <button class="next">Next</button>
    </div>
  </div>

  <script src="script.js"></script>
</body>
</html>

Создайте JavaScript-код для обработки кликов по кнопкам и отображения следующего или предыдущего изображения. Используйте querySelectorAll для получения всех изображений в слайдере и classList.add и classList.remove для управления активным классом.

const images = document.querySelectorAll('.slider-container img');
const prev = document.querySelector('.prev');
const next = document.querySelector('.next');
let current = 0;

prev.addEventListener('click', () => {
  images[current].classList.remove('active');
  current--;
  if (current < 0) {
    current = images.length - 1;
  }
  images[current].classList.add('active');
});

next.addEventListener('click', () => {
  images[current].classList.remove('active');
  current++;
  if (current === images.length) {
    current = 0;
  }
  images[current].classList.add('active');
});

Этот код создает слайдер с кнопками “вперед” и “назад”, которые позволяют переключать изображения вручную. Эффект перехода между изображениями создается с помощью CSS-анимации.

Однако, этот код является базовым и может быть расширен и доработан для добавления дополнительных функций, например индикаторов слайдов, адаптивного дизайна и т.д.

Мы можем добавить функциональность автоматическое переключение слайдов с интервалом в 3 секунды.

// Автоматически перелистываются картинки каждые 3 секунды
setInterval(() => {
  images[current].classList.remove('active');
  current++;
  if (current === images.length) {
    current = 0;
  }
  images[current].classList.add('active');
}, 3000);

Добавляем базовые стили с помощью CSS

#slider {
  width: 500px;
  height: 500px;
  margin: 0 auto;
  position: relative;
}

.slider-container img {
  transition: all 0.5s ease;
  opacity: 0;
  width: 100%;
  position: absolute;
  z-index: 1;
}

.slider-container img.active {
  opacity: 1;
}

.buttons {
  position: relative;
  z-index: 2;
}

.buttons button {
  border: 1px solid #ccc;
  width: 100px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  color: #fff;
  background-color: black;
  font-weight: bold;
  opacity: 0.9;
}

.buttons button:hover {
  opacity: 0.6;
  cursor: pointer;
}

Наш простой слайдер готов к использованию.

Comments to: Как создать слайдер изображений на JavaScript

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Attach images - Only PNG, JPG, JPEG and GIF are supported.