$ .css(’transform’)返回错误的值旋转

可能重复:
获取元素-moz-transform:在jQuery中旋转值

Firefox 15 – Chrome:

$('#img2').css('transform'); return => "rotate(90deg)" 

Firefox 16

 $('#img2').css('transform'); return => matrix(0, 1, -1, 0, 0, 0); 

知道怎么在firefox中获得旋转值16什么是矩阵?

在Firebq我得到:

 element.style { height: auto; transform: rotate(90deg); width: auto; } 

矩阵是[a,b,c,d,tx,ty]forms的仿射变换 。 如果将css字符串解析为具有这些属性的对象(在您的示例中分别为[0,1,-1,0,0,0] ),则可以通过执行以下操作来计算旋转角度: Math.atan2(matrix.b,matrix.a) * (180 / Math.PI);

这里有一篇关于css矩阵的好文章http://dev.opera.com/articles/view/understanding-the-css-transforms-matrix/ – 但我发现的最好的解释是Senocular的这个(甚至虽然它是关于Flash的,但基本数学是相同的): http : //www.senocular.com/flash/tutorials/transformmatrix/

rotate(deg)语法只是底层矩阵变换的简写。 我不确定为什么FF接受一种格式,但报告另一种格式。

有关转换的更多信息: http : //www.w3.org/TR/2012/WD-css3-transforms-20120911/