Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM Style animationPlayState 속성 – 애니메이션 실행·정지 제어 방법

animationPlayState 속성은 CSS 애니메이션의 현재 상태가 실행 중(running)인지 일시 정지(paused)인지를 설정하거나 조회하는 데 사용됩니다. 버튼 클릭 등 특정 이벤트에 따라 애니메이션을 동적으로 시작하거나 멈추는 토글(toggle) 기능을 구현할 때 특히 유용합니다.

구문(Syntax)

animationPlayState 속성을 설정하는 기본 문법은 다음과 같습니다.

object.style.animationPlayState = "running|paused|initial|inherit";

속성 값(Values)

animationPlayState 속성에 사용할 수 있는 값은 다음과 같습니다.

번호값 및 설명
1 running
애니메이션이 현재 실행 중임을 지정합니다. 별도로 설정하지 않으면 적용되는 기본(default) 값입니다.
2 paused
애니메이션을 일시 정지 상태로 지정합니다. 정지된 위치에서 다시 running으로 변경하면 이어서 재생됩니다.
3 initial
해당 속성을 브라우저의 기본 초기값으로 설정합니다.
4 inherit
부모 요소의 animationPlayState 속성 값을 그대로 상속받습니다.

예제(Example)

다음 예제는 animationPlayState 속성을 활용해 애니메이션 상태를 전환하는 방법을 보여줍니다.

<!DOCTYPE html>
<html>
<head>
<style>
    div {
        width: 70px;
        height: 30px;
        border: 3px solid brown;
        box-shadow: 0 20px 0 -3px orchid;
        z-index:-1;
        position: relative;
        animation: move 5s infinite;
        animation-play-state: play;
    }
    @keyframes move {
        from {top: 0px; }
        to {top: 400px;}
    }
</style>
<script>
    function stateToggle(){
        document.getElementById("DIV1").style.animationPlayState="paused";
        document.getElementById("Sample").innerHTML="애니메이션이 일시 정지되었습니다";
    }
</script>
</head>
<body>
<div id="DIV1"></div>
<p>아래 버튼을 클릭하면 위 애니메이션의 상태가 전환됩니다.</p>
<button onclick="stateToggle()">상태 변경</button>
<p id="Sample"></p>
</body>
</html>

실행 결과(Output)

위 코드를 실행하면 박스가 화면 위쪽에서 아래쪽으로 반복해서 이동하는 애니메이션이 출력됩니다.

HTML DOM Style animationPlayState 속성 – 애니메이션 실행·정지 제어 방법

이때 [상태 변경] 버튼을 클릭하면 JavaScript의 stateToggle() 함수가 호출되어 animationPlayState 값이 paused로 바뀌고, 진행 중이던 애니메이션이 즉시 일시 정지됩니다.

HTML DOM Style animationPlayState 속성 – 애니메이션 실행·정지 제어 방법