Image Slider - Слайдер изображений в HTML CSS и JavaScript

Image Slider - Слайдер изображений в HTML CSS и JavaScript

Возможно, вы видели функцию скольжения изображений на различных популярных платформах социальных сетей. Где пользователь может перемещать изображение вправо или влево. Знаете ли вы, что слайдеры изображений такого типа можно создавать с помощью HTML CSS и JavaScrip без использования каких-либо плагинов? 

Сегодня в этом блоге вы узнаете, как создать слайдер изображений с помощью HTML CSS и JavaScript. Создание слайдера изображений — отличный способ улучшить свои навыки кодирования в HTML, CSS и JavaScript. 

Если вам не терпится увидеть демонстрацию этого слайдера изображений и интересно узнать, как его создать с помощью HTML, CSS и JavaScript , то ниже есть видеоурок, который шаг за шагом проведет вас через весь процесс.

Видеоурок по слайдеру изображений в HTML CSS и JavaScript

Создание слайдера изображений представляет собой практический проект, который позволяет вам практиковаться в использовании различных методов и концепций в реальном сценарии. Я настоятельно рекомендую вам посмотреть полный видео-урок.

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

Чтобы создать слайдер в HTML, CSS и JavaScript, выполните указанные шаги:

  1. Создайте папку. Вы можете поместить любое имя в эту папку и создать в ней указанные ниже файлы.
  2. Создайте файл index.html . Имя файла должно быть index и его расширение .html.
  3. Создайте файл style.css . Имя файла должно быть стилем, а его расширение — .css.
  4. Создайте файл script.js . Имя файла должно быть script и его расширение .js.

После создания этих файлов вставьте указанные коды в указанные файлы. Если вы не хотите этого делать, прокрутите вниз и загрузите исходный код этого слайдера изображений, нажав соответствующую кнопку загрузки.

HTML КОД:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css" /> <!-- добавьте в head -->

<section class="wrapper">

      <i class="fa-solid fa-arrow-left button" id="prev"></i>

      <div class="image-container">

        <div class="carousel">

          <!--<img src="images/image1.jpg" alt="" />-->

          <!--<img src="images/image2.jpg" alt="" />-->

          <!--<img src="images/image3.jpg" alt="" />-->

          <!--<img src="images/image4.jpg" alt="" />-->

        </div>

        <i class="fa-solid fa-arrow-right button" id="next"></i>

      </div>

    </section>

CSS КОД:

.wrapper {

  display: flex;

  max-width: 650px;

  width: 100%;

  height: 400px;

  background: #fff;

  align-items: center;

  justify-content: center;

  position: relative;

  border-radius: 12px;

  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);

}

.wrapper i.button {

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  height: 36px;

  width: 36px;

  background-color: #343f4f;

  border-radius: 50%;

  text-align: center;

  line-height: 36px;

  color: #fff;

  font-size: 15px;

  transition: all 0.3s linear;

  z-index: 100;

  cursor: pointer;

}

i.button:active {

  transform: scale(0.94) translateY(-50%);

}

i#prev {

  left: 25px;

}

i#next {

  right: 25px;

}

.image-container {

  height: 320px;

  max-width: 500px;

  width: 100%;

  overflow: hidden;

}

.image-container .carousel {

  display: flex;

  height: 100%;

  width: 100%;

  transition: all 0.4s ease;

}

.carousel img {

  height: 100%;

  width: 100%;

  border-radius: 18px;

  border: 10px solid #fff;

  object-fit: cover;

}

JAVASCRIPT  КОД:

// Get the DOM elements for the image carousel

const wrapper = document.querySelector(".wrapper"),

  carousel = document.querySelector(".carousel"),

  images = document.querySelectorAll("img"),

  buttons = document.querySelectorAll(".button");

let imageIndex = 1,

  intervalId;

// Define function to start automatic image slider

const autoSlide = () => {

  // Start the slideshow by calling slideImage() every 2 seconds

  intervalId = setInterval(() => slideImage(++imageIndex), 2000);

};

// Call autoSlide function on page load

autoSlide();

// A function that updates the carousel display to show the specified image

const slideImage = () => {

  // Calculate the updated image index

  imageIndex = imageIndex === images.length ? 0 : imageIndex < 0 ? images.length - 1 : imageIndex;

  // Update the carousel display to show the specified image

  carousel.style.transform = `translate(-${imageIndex * 100}%)`;

};

// A function that updates the carousel display to show the next or previous image

const updateClick = (e) => {

  // Stop the automatic slideshow

  clearInterval(intervalId);

  // Calculate the updated image index based on the button clicked

  imageIndex += e.target.id === "next" ? 1 : -1;

  slideImage(imageIndex);

  // Restart the automatic slideshow

  autoSlide();

};

// Add event listeners to the navigation buttons

buttons.forEach((button) => button.addEventListener("click", updateClick));

// Add mouseover event listener to wrapper element to stop auto sliding

wrapper.addEventListener("mouseover", () => clearInterval(intervalId));

// Add mouseleave event listener to wrapper element to start auto sliding again

wrapper.addEventListener("mouseleave", autoSlide);

Вот и все, теперь вы успешно создали проект на Image Slider. Если ваш код не работает или вы столкнулись с какими-либо проблемами, загрузите файлы исходного кода с помощью данной кнопки загрузки. Это бесплатно, и будет загружен zip-файл, содержащий папку проекта с файлами исходного кода. 

Скачать архив с файлами Image Slider (Бесплатно)

Архив содержит файлы HTML, CSS, JAVASCRIPT. Полностью рабочий и адаптивный слайдер для любых сайтов

Отправить комментарий

Новые Старые

نموذج الاتصال