$ .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/