[javascript] 자바스크립트로 요소를 나타냈다 사라지게 하는 페이드 인/아웃 애니메이션

웹 개발에서 요소를 부드럽게 나타내거나 사라지게 만드는 기술인 페이드 인/아웃 애니메이션은 사용자 경험을 향상시키는 효과적인 방법 중 하나입니다. 이번 글에서는 자바스크립트를 사용하여 요소를 페이드 인/아웃하는 방법을 알아보겠습니다.

페이드 인 애니메이션

요소를 서서히 나타나게 하는 페이드 인 애니메이션을 구현하는 가장 간단한 방법은 opacity 속성을 조절하는 것입니다. 먼저, 다음의 HTML 코드를 살펴봅시다.

<button onclick="fadeIn()">나타내기</button>
<div id="element" style="opacity: 0;">안녕하세요!</div>

위 코드에서는 버튼을 클릭할 때 fadeIn 함수가 호출되며, opacity 속성을 조절해 요소를 페이드 인시킵니다.

다음은 자바스크립트를 사용하여 fadeIn 함수를 구현하는 예제입니다.

function fadeIn() {
  var element = document.getElementById('element');
  var opacity = 0;
  var timer = setInterval(function () {
    if (opacity >= 1) {
      clearInterval(timer);
    }
    element.style.opacity = opacity;
    element.style.filter = 'alpha(opacity=' + opacity * 100 + ")";
    opacity += 0.1;
  }, 50);
}

위 코드에서는 setInterval 함수를 사용하여 opacity 값을 서서히 증가시킴으로써 요소를 부드럽게 나타나게 합니다.

페이드 아웃 애니메이션

반대로, 요소를 서서히 사라지게 만드는 페이드 아웃 애니메이션은 opacity 속성을 서서히 감소시키는 방법으로 구현할 수 있습니다.

아래는 fadeOut 함수를 사용하여 요소를 페이드 아웃하는 자바스크립트 예제입니다.

function fadeOut() {
  var element = document.getElementById('element');
  var opacity = 1;
  var timer = setInterval(function () {
    if (opacity <= 0) {
      clearInterval(timer);
    }
    element.style.opacity = opacity;
    element.style.filter = 'alpha(opacity=' + opacity * 100 + ")";
    opacity -= 0.1;
  }, 50);
}

위 코드에서도 setInterval 함수를 사용하여 opacity 값을 서서히 감소시킴으로써 요소를 부드럽게 사라지게 만듭니다.

이렇게 하면 간단한 자바스크립트 코드로 페이드 인/아웃 애니메이션을 구현할 수 있습니다. 이 기술을 활용하면 웹페이지의 사용자 경험을 더욱 풍부하게 만들 수 있습니다.

많은 라이브러리와 프레임워크가 이미 이런 종류의 애니메이션을 구현하는 기능을 제공하고 있지만, 이러한 간단한 방법을 이해하고 있는 것은 개발자로서 중요한 기술입니다.

참고자료