HTML DOM의 animationDirection 속성은 애니메이션이 재생되는 방향을 지정하는 데 사용됩니다. 애니메이션을 정방향으로 재생하거나, 역방향으로 재생하거나, 두 방향을 번갈아가며 재생하도록 설정할 수 있습니다.
문법(Syntax)
animationDirection 속성을 설정하는 기본 문법은 다음과 같습니다.
object.style.animationDirection = "normal|reverse|alternate|alternate-reverse|initial|inherit"
속성 값(Value)
animationDirection 속성에 사용할 수 있는 값은 아래와 같습니다.
| 값 | 설명 |
|---|---|
| normal | 기본값입니다. 애니메이션이 정방향(순방향)으로 정상적으로 재생됩니다. |
| reverse | 애니메이션이 역방향으로 재생됩니다. |
| alternate | 홀수 번째 사이클에서는 정방향으로, 짝수 번째 사이클에서는 역방향으로 애니메이션을 번갈아 재생합니다. |
| alternate-reverse | alternate의 반대 동작입니다. 홀수 번째 사이클에서는 역방향으로, 짝수 번째 사이클에서는 정방향으로 재생합니다. |
| initial | 해당 속성을 초기값(기본값)으로 설정합니다. |
| inherit | 부모 요소로부터 이 속성 값을 상속받습니다. |
예제(Example)
다음 예제는 animationDirection 속성의 실제 사용 방법을 보여줍니다. 버튼을 클릭하면 div 요소의 애니메이션 진행 방향이 변경됩니다.
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 50px;
height: 80px;
background: skyblue;
position: relative;
animation: high 5s infinite;
z-index:-1;
animation-direction:normal;
}
@keyframes high {
0% {left: 0px; top: 0px;}
25% {background-color: lightblue; left: 0px; top: 0px;}
50% {background-color: lightgreen; left: 550px; top: 80px;}
75% {background-color: lightblue; left: 0px; top: 80px;}
100% {left: 0px; top: 0px;}
}
</style>
<script>
function changeDir(){
document.getElementById("DIV1").style.animationDirection="alternate-reverse"
}
</script>
</head>
<body>
<h1>animationDirection 속성 예제</h1>
<div id="DIV1"></div>
<p>아래 버튼을 클릭하면 div 요소의 애니메이션 방향이 변경됩니다.</p>
<button onclick="changeDir()">CHANGE DIRECTION</button>
</body>
</html>실행 결과(Output)
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

애니메이션이 진행됨에 따라 요소가 대각선 방향으로 오른쪽 아래로 이동합니다.

CHANGE DIRECTION 버튼을 클릭하면 시작 지점에서 먼저 아래로 이동한 뒤, 역방향으로 움직이게 됩니다.
