JavaScript案例——網頁特效之旋轉
阿新 • • 發佈:2019-02-17
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>