所以我搜索谷歌和stackoverflow的解決方案,但我找不到答案。我的問題是,我無法與Internet Explorer 8 旋轉的元素我用 this site和this stackoverflow topic資源和終於來到了以下結果:JavaScript旋轉IE8
function rotateElement(e, deg) {
var deg_str = deg + "";
var rotate_transform = "rotate(" + deg + "deg)";
var degreeToIEMatrix = function(deg){
var deg2radians = Math.PI/180;
var rad = deg * deg2radians ;
var costheta = Math.cos(rad);
var sintheta = Math.sin(rad);
var M11 = costheta;
var M12 = -sintheta;
var M21 = sintheta;
var M22 = costheta;
return 'M11=' + M11 + ', M12=' + M12 + ', M21=' + M21 + ', M22=' + M22;
};
/* @cc_on
matrix_str = degreeToIEMatrix(deg);
document.write(matrix_str);
filter_str = "progid:DXImageTransform.Microsoft.Matrix(" + matrix_str + ", sizingMethod='auto expand')";
@*/
e.style["rotation"] = deg_str + "deg"; // CSS3
e.style.MozTransform = rotate_transform; // Moz
e.style.OTransform = rotate_transform; // Opera
e.style.WebkitTransform = rotate_transform; // Webkit/Safari/Chrome
e.style["zoom"] = "1"; // ??? Probably IEs
/* @cc_on
e.style.filter = filter_str; // IE 6/7
e.style.MsFilter = filter_str; // IE 8
@*/
}
使用Internet Explorer 8的元素不旋轉。我的代碼中是否存在錯誤,或者它不好?我知道我可以爲此使用JQuery,但我不想依賴庫。我查了一下JQuery的源碼,但在那裏找不到答案。
http://www.useragentman.com/blog/2010/03/09/cross-browser-css-transforms-even-in-ie/ – SLaks
http://css3please.com/ – SLaks
@SLaks The第一個使用librarys,第二個使用css(在後面使用JQuery)。 – Olesma