CSS3 애니메이션 다시 시작
사용자 상호작용 시 CSS3 애니메이션을 되살리는 것은 일반적인 작업입니다. 애니메이션 요소를 제거하고 다시 삽입하는 것이 효과적인 것처럼 보일 수 있지만 불필요한 복잡성이 발생합니다. 리플로우의 강력한 기능을 활용하여 애니메이션을 원활하게 재설정함으로써 더욱 세련된 솔루션이 탄생합니다.
문서 구조를 다시 포맷하고 다시 그리는 프로세스인 리플로우는 애니메이션 타임라인을 방해하지 않고 스타일을 변경할 수 있는 편리한 메커니즘을 제공합니다. 애니메이션 속성을 'none'으로 잠시 설정한 다음 리플로우를 트리거하면 브라우저는 진행 중인 애니메이션을 무시하라는 신호를 받습니다. 이렇게 하면 후속 스타일 변경 사항이 즉시 적용되어 애니메이션을 효과적으로 다시 시작할 수 있습니다.
설명하려면 다음 JavaScript 코드 조각을 고려하세요.
function reset_animation() { var el = document.getElementById('animated'); el.style.animation = 'none'; el.offsetHeight; /* trigger reflow */ el.style.animation = null; }
이 함수가 실행되면 '애니메이션' 요소에서 애니메이션을 일시 중지하고 강제로 브라우저를 다시 그린 다음 애니메이션 속성을 원래 상태로 복원합니다. 애니메이션 할당의 지연이나 연결을 방지함으로써 이 접근 방식은 애니메이션 재설정 프로세스를 단순화하고 원활한 시각적 경험을 보장합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3