CSS3 애니메이션의 경우 콜백 함수를 구현하는 방법이 있습니까? Javascript 애니메이션의 경우 가능하지만 css3에서 수행하는 방법을 찾지 못했습니다.
내가 볼 수있는 한 가지 방법은 애니메이션 지속 시간 후에 콜백을 실행하는 것이지만 애니메이션이 끝난 직후에 항상 호출되는 것을 보장하지는 않습니다. 브라우저 UI 대기열에 따라 다릅니다. 더 강력한 방법을 원합니다. 단서가 있습니까?
CSS3 애니메이션의 경우 콜백 함수를 구현하는 방법이 있습니까? Javascript 애니메이션의 경우 가능하지만 css3에서 수행하는 방법을 찾지 못했습니다.
내가 볼 수있는 한 가지 방법은 애니메이션 지속 시간 후에 콜백을 실행하는 것이지만 애니메이션이 끝난 직후에 항상 호출되는 것을 보장하지는 않습니다. 브라우저 UI 대기열에 따라 다릅니다. 더 강력한 방법을 원합니다. 단서가 있습니까?
답변:
네, 있습니다. 콜백은 이벤트이므로이를 포착하려면 이벤트 리스너를 추가해야합니다. 다음은 jQuery를 사용한 예입니다.
$("#sun").bind('oanimationend animationend webkitAnimationEnd', function() {
alert("fin")
});
또는 순수 js :
element.addEventListener("webkitAnimationEnd", callfunction,false);
element.addEventListener("animationend", callfunction,false);
element.addEventListener("oanimationend", callfunction,false);
라이브 데모 : http://jsfiddle.net/W3y7h/
animationend
msdn.microsoft.com/en-us/library/ie/…를 사용합니다 . 코드가 크롬과 FF (14)의 작업을 수행 @Husky, 바이올린 업데이트를 참조하십시오 jsfiddle.net/W3y7h
CSS3 전환 / 브라우저 호환성을 처리하는 콜백을 수행하는 쉬운 방법은 jQuery Transit Plugin 입니다. 예:
//Pulsing, moving element
$("#element").click( function () {
$('#element').transition({ opacity: 0, x: '75%' }, function () { $(this).transition({ opacity: 1, x: '0%' }).trigger("click"); });
});