最近、プラグインのビルド中に Firefox 14.0.1 にアップグレードしました。プラグインは、border-radius、border-width、border-color、およびその他のさまざまなプロパティを同時にアニメーション化します。他のブラウザや以前のバージョンの FireFox では問題はありませんが、更新後、回転でアニメーション化すると境界半径アニメーション中に深刻な断片化/アーティファクトが発生することに気付きました。以下は、回転用のコードです。
/* ROTATE */
function animate_rotate(degree,Speed,AnimateDegree){
/* FACTOR DEGREE */if(degree<AnimateDegree){
++degree; Screens.current_rotate=degree;
}else if(degree>AnimateDegree){
--degree; Screens.current_rotate=degree;
};
/* APPLY THE NEW ROTATION ANGLE TO IE>9 */
if(!ievers<=8){
$ScreensLightbox.css({'-moz-transform':'translateX(0) rotate('+degree+'deg)','-moz-transform-origin':''+Screens.LBRotateHandle[0]+'% '+Screens.LBRotateHandle[1]+'%','-webkit-transform':'translateX(0) rotate('+degree+'deg)','-webkit-transform-origin':''+Screens.LBRotateHandle[0]+'% '+Screens.LBRotateHandle[1]+'%',/* Opera */'-o-transform':'translateX(0) rotate('+degree+'deg)','-o-transform-origin':''+Screens.LBRotateHandle[0]+'% '+Screens.LBRotateHandle[1]+'%',/* IE>=9 */'-ms-transform':'rotate('+degree+'deg)','-ms-transform-origin':''+Screens.LBRotateHandle[0]+'% '+Screens.LBRotateHandle[1]+'%'});
};
/* PUSH INSTANCE TIMER-ON ARRAY */
Screens.Rotate_Timer.push(setTimeout(function({animate_rotate(degree,Speed,AnimateDegree)},Speed/63));
};
境界線の半径をアニメーション化する関数は次のとおりです。
/* BORDER RADIUS */
function animate_border_radius(SetBorderRadius,AnimateBorderRadius,Speed,Effect){
$ScreensLightbox.css({'border-top-left-radius':SetBorderRadius,'border-top-right-radius':SetBorderRadius,'border-bottom-left-radius':SetBorderRadius,'border-bottom-right-radius':SetBorderRadius})
.animate({borderTopLeftRadius:AnimateBorderRadius, borderTopRightRadius:AnimateBorderRadius,borderBottomLeftRadius:AnimateBorderRadius,borderBottomRightRadius:AnimateBorderRadius,WebkitBorderTopLeftRadius:AnimateBorderRadius,WebkitBorderTopRightRadius:AnimateBorderRadius,WebkitBorderBottomLeftRadius:AnimateBorderRadius,WebkitBorderBottomRightRadius:AnimateBorderRadius,MozBorderRadius:AnimateBorderRadius},
{duration:Speed,queue:false,specialEasing:{borderTopLeftRadius:Effect,borderTopRightRadius:Effect,borderBottomLeftRadius:Effect,borderBottomRightRadius:Effect,WebkitBorderTopLeftRadius:Effect,WebkitBorderTopRightRadius:Effect,WebkitBorderBottomLeftRadius:Effect,WebkitBorderBottomRightRadius:Effect,MozBorderRadius:Effect}});
};
最新の Firefox で Rotate と Border Radius を同時にアニメーション化しようとすると、同様の問題が発生する人はいますか? ありがとう!