소개
이 기사에서는 CSS 애니메이션 문제를 다룹니다. 스타일시트에 대한 제어를 유지하면서 jQuery를 사용하여 다양한 객체의 속성 변경 정의.
예 1: 전용 CSS 속성을 사용한 애니메이션
animate()를 사용하면 애니메이션 코드 내에서 CSS 속성을 직접 조작할 수 있습니다.
$('#someDiv').mouseover(function() { $(this).stop().animate({ backgroundColor: 'blue' }, { duration: 500 }); }).mouseout(function() { $(this).stop().animate({ backgroundColor: 'red' }, { duration: 500 }); });
그러나 이 접근 방식은 스타일 정의를 스타일시트에서 분리합니다. 바람직합니다.
예 2: AddClass/RemoveClass 대안
스타일시트 클래스를 활용하려면 아래 설명과 같이 addClass() 및 RemoveClass()를 사용할 수 있습니다.
$('#someDiv').addClass('blue').mouseover(function() { $(this).stop(true, false).removeAttr('style').addClass('red', { duration: 500 }); }).mouseout(function() { $(this).stop(true, false).removeAttr('style').removeClass('red', { duration: 500 }); });
일부 애니메이션은 예상대로 작동하지만 다른 애니메이션은 도중에 적용된 임시 스타일로 인해 중단됩니다. animation.
이상적인 솔루션
저희는 애니메이션 클래스 전환에 jQuery를 활용하면서 CSS 클래스 정의를 한 곳(스타일시트)에 유지하고자 합니다.
제안된 솔루션
이를 달성하려면 jQuery의 클래스 조작 기능과 함께 CSS 전환을 활용하는 것이 좋습니다. 데모를 보려면 다음 라이브 예시를 확인하세요.
<div>
#someDiv { -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; }
$('#someDiv').mouseover(function() { $(this).addClass('blue'); }).mouseout(function() { $(this).removeClass('blue'); });
위 내용은 jQuery 및 CSS 전환으로 DOM 요소 색상 변경을 어떻게 원활하게 애니메이션화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!