妙网科技 妙网科技 首页 妙网科技 网站开发 妙网科技 JQ获取CSS3角度transform rotate旋转度数matrix解析

JQ获取CSS3角度transform rotate旋转度数matrix解析

所属栏目: 网站开发 | 更新时间:2016-11-21 | 阅读:7895 次
/* 
    * 解析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<deg<=270,deg=180+c; 
    * 当270<deg<=360,deg=360-(c||d); 
    * */  
    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(){  
     var deg=eval('get'+obj.css('transform'));//构造getmatrix函数,返回上次旋转度数  
     var step=45;//每次旋转多少度  
     obj.css({'transform':'rotate('+(deg+step)%360+'deg)'});  
 });