이번 포스트에서는 자바스크립트를 사용하여 파도 효과를 가진 텍스트 애니메이션을 만드는 방법을 알아보겠습니다. 이 효과는 웹사이트나 앱에서 텍스트를 동적으로 표현하는 데 사용할 수 있습니다.
요구 사항
- HTML 및 CSS 기본 지식
- 자바스크립트 기본 지식
시작하기 전에
먼저, HTML 문서에 효과를 적용할 요소를 생성해야 합니다. 예를 들어, <h1>
태그를 사용하여 애니메이션을 적용할 텍스트를 작성할 수 있습니다.
<h1 id="animated-text">Hello, World!</h1>
텍스트를 원하는 대로 스타일링 하고, 효과를 적용할 요소에 id
속성을 추가해주세요.
스타일링
다음으로, CSS를 사용하여 요소에 스타일을 지정해야 합니다. 이 애니메이션에서는 파도 효과를 만들기 위해 @keyframes
를 사용하여 키프레임을 정의할 것입니다. 자세한 내용은 아래의 예시 코드를 참고해주세요.
@keyframes wave {
0% {
transform: scaleX(1);
}
50% {
transform: scaleX(1.2);
}
100% {
transform: scaleX(1);
}
}
#animated-text {
animation-name: wave;
animation-duration: 2s;
animation-iteration-count: infinite;
}
@keyframes
를 사용하여 wave
기본값과 중간값, 최종값에서 어떤 스타일을 적용할지 설정할 수 있습니다. animation-name
을 사용하여 애니메이션의 이름을 지정하고, animation-duration
을 사용하여 애니메이션의 지속 시간을 설정할 수 있습니다. animation-iteration-count
를 infinite
로 설정하면 애니메이션이 무한 반복됩니다.
자바스크립트
마지막으로, 자바스크립트를 사용하여 애니메이션을 시작해야 합니다. 아래의 예시 코드를 참고해주세요.
const animatedText = document.getElementById("animated-text");
function startAnimation() {
animatedText.style.animationPlayState = "running";
}
function stopAnimation() {
animatedText.style.animationPlayState = "paused";
}
animatedText.addEventListener("mouseover", startAnimation);
animatedText.addEventListener("mouseout", stopAnimation);
위 코드에서는 mouseover
와 mouseout
이벤트 리스너를 사용하여 마우스를 오버하면 애니메이션이 시작되고, 마우스를 벗어나면 애니메이션이 멈추도록 설정했습니다.
자바스크립트에서 getElementById
를 사용하여 요소를 가져온 뒤, addEventListener
를 사용하여 이벤트 리스너를 추가합니다. animationPlayState
를 running
으로 설정하여 애니메이션을 시작하고, paused
로 설정하여 애니메이션을 멈출 수 있습니다.
결론
이제 자바스크립트를 사용하여 파도 효과를 가진 텍스트 애니메이션을 만들 수 있게 되었습니다. 이 효과를 웹사이트나 앱에 적용하여 텍스트를 더 동적으로 표현해보세요!