[javascript] 자바스크립트로 페이드 인 애니메이션을 활용한 이미지 슬라이드 쇼

이미지 슬라이드 쇼는 웹사이트에서 매력적인 사용자 경험(UX)을 제공하는 데 도움이 되는 중요한 기능입니다. 자바스크립트를 사용하여 이미지를 부드럽게 전환하면서 화면에 표시할 수 있는 페이드 인 애니메이션(fade-in animation)을 소개해보겠습니다.

필요한 HTML 구조 만들기

가장 먼저, 이미지 슬라이드 쇼를 위한 HTML 구조를 작성해야 합니다. 아래와 같이 간단한 구조를 만들어봅시다.

<div class="slideshow">
  <img src="image1.jpg" alt="Image 1">
  <img src="image2.jpg" alt="Image 2">
  <img src="image3.jpg" alt="Image 3">
</div>

CSS로 슬라이드 쇼 스타일링하기

이미지 슬라이드 쇼를 좀 더 동적으로 만들기 위해 CSS(Cascading Style Sheets)를 활용하여 스타일링할 수 있습니다.

.slideshow {
  position: relative;
}

.slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slideshow img.active {
  opacity: 1;
}

자바스크립트로 애니메이션 추가하기

페이드 인 애니메이션을 구현하기 위해 자바스크립트를 사용합니다. 슬라이드 쇼에서 이미지 간의 전환을 관리하고, 애니메이션을 적용합니다.

const images = document.querySelectorAll('.slideshow img');
let currentImageIndex = 0;

function showImage(index) {
  images.forEach((image, idx) => {
    if (idx === index) {
      image.classList.add('active');
    } else {
      image.classList.remove('active');
    }
  });
}

function nextImage() {
  currentImageIndex = (currentImageIndex + 1) % images.length;
  showImage(currentImageIndex);
}

setInterval(nextImage, 3000); // 3초마다 다음 이미지 표시

위의 코드에서는 showImage 함수로 이미지를 전환하고, nextImage 함수를 사용하여 주기적으로 다음 이미지를 표시합니다.

마치며

이제 자바스크립트를 사용하여 페이드 인 애니메이션을 활용한 이미지 슬라이드 쇼를 구현해보았습니다. 이러한 슬라이드 쇼는 웹사이트나 블로그에서 시각적인 효과를 줄 때 유용하게 활용될 수 있습니다. 여러분도 이를 참고하여 독창적인 이미지 슬라이드 쇼를 만들어 보세요!