我正在开发一个jQuery插件,可以通过鼠标使块级元素旋转。现在在非IE浏览器中按预期工作,但在Internet Explorer中旋转时有奇怪的行为。
演示网址testerski.antaranian.me,旋转插件脚本如下:
我谷歌搜索了与这个主题相关的两个页面: 我发现线性代数需要一些会计学知识,但对我来说很难,如果有人有更简单的教程或知道直接的解决方案,请告诉我。任何帮助都将不胜感激,Antaranian。
演示网址testerski.antaranian.me,旋转插件脚本如下:
$.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;
};
我谷歌搜索了与这个主题相关的两个页面: 我发现线性代数需要一些会计学知识,但对我来说很难,如果有人有更简单的教程或知道直接的解决方案,请告诉我。任何帮助都将不胜感激,Antaranian。