2011-10-15 123 views

回答

3

必須使用transform:rotate() CSS屬性。我爲此寫了一個(簡單的?)純JS函數。

JS:

function rotate(elem, angle){ 
    //Cross-browser: 
    var css = ["-moz-","-webkit-","-ms-","-o-","",""] 
       .join("transform:rotate(" + angle + "deg);") 
    elem.style.cssText += css; 
} 

例,小提琴:http://jsfiddle.net/zvuyc/

<script> 
window.onload = function(){ 
    var angle = 0; 
    document.getElementById("button").onclick = function(){ 
     angle += 90 % 360; 
     rotate(document.getElementById("image"), angle); 
    } 
} 
</script> 
<input type="button" id="button" value="Rotate by 90deg"> 
<img src="http://simplyeng.com/wp-content/uploads/2008/11/indiana_tux.png" id="image" /> 
+0

非常好,謝謝! – imiric

+0

進一步優化版本:http://jsfiddle.net/jgj4L/ – Krinkle

+0

cssText可以用這種方式很長時間(並調用css解析器)。這是一個設置屬性的變體:http://jsfiddle.net/2tZja/ – Krinkle