css3获取rotate角度,JS获取transform rotate旋转角度的度数,matrix解析

转自竹音林,只为自己笔记,以备不时之需

如果使用$(objName).css('transform')来获取CSS3里transform rotate旋转角度的度数,得到的是矩阵matrix(a,b,c,d,e,f)

看到这个矩阵,很多人都是一脸蒙蔽的

那么想获取rotate的角度怎么办,看看我抄来的大作:)

(一脸严肃)

/*

* 解析matrix矩阵,0°-360°,返回旋转角度

* 当a=b||-a=b,0<=deg<=180

* 当-a+b=180,180<=deg<=270

* 当a+b=180,270<=deg<=360

*

* 当0<=deg<=180,deg=d;

* 当180

* 当270

* */

function getmatrix(a,b,c,d,e,f){

var aa=Math.round(180*Math.asin(a)/ Math.PI);

var bb=Math.round(180*Math.acos(b)/ Math.PI);

var cc=Math.round(180*Math.asin(c)/ Math.PI);

var dd=Math.round(180*Math.acos(d)/ Math.PI);

var deg=0;

if(aa==bb||-aa==bb){

deg=dd;

}else if(-aa+bb==180){

deg=180+cc;

}else if(aa+bb==180){

deg=360-cc||360-dd;

}

return deg>=360?0:deg;

//return (aa+','+bb+','+cc+','+dd);

}

用法~~~~

var obj=$('#id');

obj.click(function(){

//构造getmatrix函数,返回上次旋转度数

var deg=eval('get'+obj.css('transform'));

//每次旋转多少度

var step=45;

obj.css({'transform':'rotate('+(deg+step)%360+'deg)'});

});

还有一个百度来的~~

recursion

var test = function ()

{

var reg = /(rotate\([\-\+]?((\d+)(deg))\))/i;

var wt = div.style['-webkit-transform'], wts = wt.match (reg);

var $2 = RegExp.$2;

console.log ($2);

div.style['-webkit-transform'] = wt.replace ($2, parseFloat (RegExp.$3) + 10 + RegExp.$4);

}

rotate

ddd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值