마우스로 회전 할 수있는 블록 레벨 요소를 만들 수있는 jQuery 플러그인을 개발 중입니다. 이제 비 IE 브라우저에서 예상대로 작동하지만 Internet Explorer에서 회전하는 동안 이상한 동작이 발생합니다.jQuery 요소 무료 로테이션. 변환 원점 수정 및 IE에서 번역
데모는 여기 testerski.antaranian.me에서 호스팅되는, 회전 플러그인 스크립트는 내가 봤이 두 페이지 나되는 때 몇 가지가 있습니다
Grady's guide 및 Zoltan's guide
이 주제에 관한 발견
$.fn.roll = function(angle){
var $this = this,
ie = !jQuery.support.leadingWhitespace;
if (ie) {
var cosAngle = parseFloat(parseFloat(Math.cos(angle.rad())).toFixed(8)),
sinAngle = parseFloat(parseFloat(Math.sin(angle.rad())).toFixed(8)),
tx = 0, ty = 0,
matrixFilter = '(M11=' + cosAngle + ', '
+ 'M12=' + -sinAngle + ', '
+ 'M21=' + sinAngle + ', '
+ 'M22=' + cosAngle + ','
+ 'sizingMethod=\'auto expand\')',
filter = 'progid:DXImageTransform.Microsoft.Matrix' + matrixFilter,
css = {
'-ms-filter': filter,
'filter': filter
};
debug.log(filter);
var matrix = $M([
[cosAngle, -sinAngle, tx],
[sinAngle, cosAngle, ty],
[0, 0, 1]
]);
debug.log(matrix);
$this.transformOrigin(matrix);
$this.fixIeBoundaryBug(matrix);
} else {
var css = {
'-webkit-transform': 'rotate(' + angle + 'deg)',
'-moz-transform': 'rotate(' + angle + 'deg)',
'-o-transform': 'rotate(' + angle + 'deg)'
};
}
$this.css(css);
return this;
};
입니다 Linear Algebra와 관련하여 회계가 필요하지만 누군가가 더 간단한 튜토리얼을 가지거나 직접 솔루션을 알고 있다면 저에게 알려주세요.
아무 도움도 받으실 수 있습니다. Antaranian.