Last active
August 29, 2015 14:22
-
-
Save hzhopen/4919399daa6cbadb5eb7 to your computer and use it in GitHub Desktop.
支持ie6,7的dom元素旋转缩放
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
支持ie6,7的dom元素旋转缩放 | |
//方法名是fnRotateScale,有三个参数。第一个就是dom元素啦;第二个参数就是旋转的角度,例如旋转45度就是45,;第三个参数scale就是你希望缩放的比例了,例如希望放大两倍显示就是2就可以了。使用也是相当简单的。 | |
var fnRotateScale = function(dom, angle, scale) { | |
if (dom && dom.nodeType === 1) { | |
angle = parseFloat(angle) || 0; | |
scale = parseFloat(scale) || 1; | |
if (typeof(angle) === "number") { | |
//IE | |
var rad = angle * (Math.PI / 180); | |
var m11 = Math.cos(rad) * scale, m12 = -1 * Math.sin(rad) * scale, m21 = Math.sin(rad) * scale, m22 = m11; | |
if (!dom.style.Transform) { | |
dom.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11="+ m11 +",M12="+ m12 +",M21="+ m21 +",M22="+ m22 +",SizingMethod='auto expand')"; | |
} | |
//Modern | |
dom.style.MozTransform = "rotate("+ angle +"deg) scale("+ scale +")"; | |
dom.style.WebkitTransform = "rotate("+ angle +"deg) scale("+ scale +")"; | |
dom.style.OTransform = "rotate("+ angle +"deg) scale("+ scale +")"; | |
dom.style.Transform = "rotate("+ angle +"deg) scale("+ scale +")"; | |
} | |
} | |
}; | |
var fnRotateScale = function(angle, scale) { | |
angle = parseFloat(angle) || 0; | |
scale = parseFloat(scale) || 1; | |
if (typeof(angle) === "number") { | |
//IE | |
var rad = angle * (Math.PI / 180); | |
var m11 = Math.cos(rad) * scale, m12 = -1 * Math.sin(rad) * scale, m21 = Math.sin(rad) * scale, m22 = m11; | |
console.log("progid:DXImageTransform.Microsoft.Matrix(M11="+ m11 +",M12="+ m12 +",M21="+ m21 +",M22="+ m22 +",SizingMethod='auto expand');"); | |
} | |
}; | |
fnRotateScale(0, 32/84); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment