获取元素-moz-transform:在jQuery中旋转值我有一个图层的CSS样式:.element {
-webkit-transform: rotate(7.5deg);
-moz-transform: rotate(7.5deg);
-ms-transform: rotate(7.5deg);
-o-transform: rotate(7.5deg);
transform: rotate(7.5deg);}有没有办法通过jQuery获得curent旋转值?我试过这个$('.element').css("-moz-transform")结果matrix(0.991445, 0.130526, -0.130526, 0.991445, 0px, 0px)并没有告诉我很多。我想要得到的是7.5。
3 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
这是我使用jQuery的解决方案。
这将返回与应用于任何HTML元素的旋转相对应的数值。
function getRotationDegrees(obj) { var matrix = obj.css("-webkit-transform") || obj.css("-moz-transform") || obj.css("-ms-transform") || obj.css("-o-transform") || obj.css("transform"); if(matrix !== 'none') { var values = matrix.split('(')[1].split(')')[0].split(','); var a = values[0]; var b = values[1]; var angle = Math.round(Math.atan2(b, a) * (180/Math.PI)); } else { var angle = 0; } return (angle < 0) ? angle + 360 : angle;}angle1 = getRotationDegrees($('#myDiv'));angle2 = getRotationDegrees($('.mySpan a:last-child'));
等等...
交互式爱情
TA贡献1712条经验 获得超3个赞
我在Twist的代码中发现了一个错误/功能:函数返回负角度。
所以我在返回之前添加了一行简单的代码angle
:
if(angle < 0) angle +=360;
比结果将是:
function getRotationDegrees(obj) { var matrix = obj.css("-webkit-transform") || obj.css("-moz-transform") || obj.css("-ms-transform") || obj.css("-o-transform") || obj.css("transform"); if(matrix !== 'none') { var values = matrix.split('(')[1].split(')')[0].split(','); var a = values[0]; var b = values[1]; var angle = Math.round(Math.atan2(b, a) * (180/Math.PI)); } else { var angle = 0; } if(angle < 0) angle +=360; return angle;}
- 3 回答
- 0 关注
- 825 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消