자바스크립트로 반짝임 효과 애니메이션 만들기

이번 글에서는 자바스크립트를 사용하여 반짝임 효과 애니메이션을 만드는 방법에 대해 알아보겠습니다. 이러한 애니메이션은 웹사이트나 앱에서 요소들에 동적인 효과를 주고 사용자의 시선을 집중시킬 수 있는 매력적인 기능입니다.

HTML 구조 설정

먼저, 반짝임 효과를 적용할 HTML 요소를 마크업합니다. 예를 들어, <div> 요소를 사용하여 반짝임 효과를 주고자 하는 텍스트를 감싸줍니다.

<div class="glow-effect">
    <h1>Welcome to My Website</h1>
</div>

CSS 스타일 설정

다음으로, CSS를 사용하여 텍스트에 반짝임 효과를 주기 위한 스타일을 설정합니다. 아래는 기본적인 스타일 지정 예시입니다.

.glow-effect {
    position: relative;
    display: inline-block;
}

.glow-effect::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #ff9d00, #ff0062);
    animation: shine 2s ease infinite;
    opacity: 0;
    z-index: 1;
}

@keyframes shine {
    0% {
        opacity: 0;
        transform: translateX(-100%);
    }
    50% {
        opacity: 1;
        transform: translateX(0);
    }
    100% {
        opacity: 0;
        transform: translateX(100%);
    }
}

glow-effect 클래스는 효과를 적용할 요소를 감싸는 <div>의 클래스입니다. ::after 가상 요소를 사용하여 반짝임 효과를 설정하고, shine 애니메이션을 적용합니다.

자바스크립트 애니메이션 효과 추가

마지막으로, 자바스크립트를 사용하여 애니메이션을 활성화하고 효과를 주기 위한 이벤트 리스너를 추가합니다. 아래는 예시 코드입니다.

const glowEffect = document.querySelector(".glow-effect");

glowEffect.addEventListener("mouseover", () => {
    glowEffect.classList.add("animate");
});

glowEffect.addEventListener("animationend", () => {
    glowEffect.classList.remove("animate");
});

위의 코드에서는 .glow-effect 클래스를 찾아서 마우스가 올려질 때 animate 클래스를 추가합니다. 그리고 애니메이션이 끝나면 animate 클래스를 제거하여 다시 초기 상태로 돌아오게 됩니다.

결과 확인하기

이제, HTML 파일을 실행하고 텍스트에 마우스를 올리면 반짝임 효과가 적용되는 것을 확인할 수 있습니다. 원하는 스타일 및 애니메이션 속도를 조절하고 필요에 따라 추가적인 스타일링을 적용할 수도 있습니다.

더 다양한 반짝임 효과를 구현하기 위해서는 CSS 애니메이션과 효과를 더 자세히 공부하고 실험해보는 것을 권장합니다.

마무리

이번 글에서는 자바스크립트를 이용하여 반짝임 효과 애니메이션을 만드는 방법을 알아보았습니다. 이를 통해 웹사이트나 앱의 사용자 경험을 향상시킬 수 있으며, 동적인 효과를 주어 시각적으로 더욱 매력적인 인터페이스를 구현할 수 있습니다.

더 많은 자바스크립트 애니메이션 및 효과를 익히고 응용하여 창의적인 디자인을 구현해보세요. Happy coding! 😊

참고 자료