jQuery.animate()를 사용한 브라우저 간 CSS 회전
문제:
수행 중 jQuery.animate()를 사용하는 CSS 회전 애니메이션이 브라우저 간 작동에 실패합니다. .css()를 사용할 때는 회전이 작동하지만 .animate()를 사용할 때는 작동하지 않습니다.
원인:
CSS 변환은 jQuery로 직접 애니메이션을 적용할 수 없습니다.
해결책:
수행하려면 jQuery를 사용하여 애니메이션을 CSS로 변환하려면 다음 대체 방법을 사용할 수 있습니다.
function AnimateRotate(angle) { var $elem = $('#MyDiv2'); $({deg: 0}).animate({deg: angle}, { duration: 2000, step: function(now) { $elem.css({ transform: 'rotate(' + now + 'deg)' }); } }); }
설명:
이 방법은 사용자 정의 "단계" 콜백 함수를 사용하여 업데이트합니다. 애니메이션의 각 단계에서 선택한 요소의 "변형" 속성. "step" 기능은 현재 애니메이션 위치(현재)를 매개변수로 수신하며, 이를 사용하여 원하는 회전 각도를 계산할 수 있습니다.
플러그인:
할 수 있습니다. 더 쉽게 이 방법을 jQuery 플러그인에 래핑하세요. 사용:
$.fn.animateRotate = function(angle, duration, easing, complete) { return this.each(function() { var $elem = $(this); $({deg: 0}).animate({deg: angle}, { duration: duration, easing: easing, step: function(now) { $elem.css({ transform: 'rotate(' + now + 'deg)' }); }, complete: complete || $.noop }); }); };
사용:
플러그인을 사용하려면 다음을 호출하면 됩니다.
$('#MyDiv2').animateRotate(90);
업데이트:
제공되는 솔루션은 효율성을 향상하고 더 많은 것을 제공하기 위해 여러 번 업데이트되었습니다. 유연성.
추가 사용 세부정보:
위 내용은 jQuery를 사용하여 브라우저 간 CSS 회전 애니메이션을 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!