jquery 獲取css3 transform 值


最近寫了個旋轉,有要求獲取transform值。當看到console.log($("#id").css("transform"))的值的時候,我的內心是崩潰的

所以我特地找了下,雖然對矩陣還是不怎么理解,以下代碼幫助理解吧

html代碼

<div id="divTransform">
</div>
<script>
var nowDeg = $("#divTransform").css("transform");

function getmatrix(a,b,c,d){
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 values = nowDeg.split('(')[1].split(')')[0].split(',');
var a = values[0];
var b = values[1];
var c = values[2];
var d = values[3];
nowDeg = getmatrix(a,b,c,d);
console.log(nowDeg);
var nowDeg = $("#divTransform").css("transform");

function getmatrix(a,b,c,d){
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 values = nowDeg.split('(')[1].split(')')[0].split(',');
var a = values[0];
var b = values[1];
var c = values[2];
var d = values[3];
nowDeg = getmatrix(a,b,c,d);
console.log(nowDeg);
</script>

這樣就能獲取transform的值啦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM