1. 程式人生 > >JavaScript案例——網頁特效之旋轉

JavaScript案例——網頁特效之旋轉

ps:這個旋轉不能再IE瀏覽器中正常開啟,因為IE瀏覽器不相容CSS3

這裡使用的重點屬性是transform和rotate方法

定義:
transform屬性是向元素應用 2D 或 3D 轉換。該屬性允許我們對元素進行旋轉、縮放、移動或傾斜。
rotate() 方法旋轉畫布的座標系統。
語法
rotate(angle)
注:angle 旋轉的量,用弧度表示。正值表示順時針方向旋轉,負值表示逆時針方向旋轉
文中用的deg和angle一樣
-

關於rotate說明

rotate() 方法通過指定一個角度,改變了畫布座標和 Web 瀏覽器中的 元素的畫素之間的對映,使得任意後續繪圖在畫布中都顯示為旋轉的。它並沒有旋轉 元素本身。注意,這個角度是用弧度指定的。
如果要把角度轉換為弧度,請乘以 Math.PI 併除以 180。


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            #body{
                position: absolute;
                width: 300px;
                height: 300px;
                top: 200px;
                left
: 200px
; }
#a{ position: absolute; border: 1px solid #goldenrod; top: 140px; width: 300px; height: 20px; background-color: goldenrod; transform: rotate(0deg); }
#b{ position: absolute; border: 1px solid #goldenrod; left: 140px; width: 20px; height: 300px; background-color: goldenrod; transform: rotate(0deg); }
</style> <script> var i = 0; var xz_id; var sd = 10; var ids = new Array(); window.onload = function(){ xz = document.getElementById("xz"); a = document.getElementById("body"); mess = document.getElementById("mess"); xz.onclick = function(){ id = setInterval("xuanzhuan()",10); ids.push(id); mess.innerHTML = ids.length; } document.getElementById("tz").onclick = function(){ clearInterval(ids[ids.length-1]); ids.pop(); mess.innerHTML = ids.length; } } function xuanzhuan(){ if(i>360){ i=0; }else{ i++; } var s = "rotate("+i+"deg)"; a.style.transform = s; } </script> </head> <body> <button id="xz">加速</button> <button id="tz">減速</button><br /> <span id="mess"></span> <div id="body"> <div id="a"></div> <div id="b"></div> </div> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html>

加速、減速