本文實例講述了JS控制層作圓周運動的方法。分享給大家供大家參考,具體如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>圓周運動</title>
<script type = "text/javascript">
window.onload = function(){
var ctrlBtn = $id("ctrl");
var isMove = true;
oM = null;
ctrlBtn.onclick = function(){
if(isMove){
moveByCircle();
}else{
clearInterval(oM);
}
isMove = !isMove;
}
}
function moveByCircle(){
var bacL = parseInt($id("clockBac").style.left);
var bacT = parseInt($id("clockBac").style.top);
var bacW = parseInt($id("clockBac").style.width);
var bacH = parseInt($id("clockBac").style.height);
var initL = bacL+bacW/2;
var initT = bacT+bacH/2;
var step = 0;
var r = 65;
$id("tt").style.left = initL+"px";
$id("tt").style.top = initT+"px";
var l = parseInt($id("tt").style.left);
var t = parseInt($id("tt").style.top);
oM = window.setInterval(function(){
if (step == 360) {
step = 1;
}
$id("tt").style.left = (l + r * Math.sin(step)) + "px";
$id("tt").style.top = (t - r * Math.cos(step)) + "px";
step += 3.14/30;
var d = new Date();
var hh = d.getHours();
var mm = d.getMinutes();
var ss = d.getSeconds();
$id("ctrl").value = hh+":"+mm+":"+ss;
}, 1000);
}
function $id(id){
return document.getElementById(id);
}
</script>
</head>
<body>
<div id = "tt" style ="width:10px;height:10px;background:red;position:absolute;top:105px;left:130px;"></div>
<input type = "button" id = "ctrl" style = "width:100px;position:absolute;"/>
<img src = "../img/clock.jpg" id = "clockBac" style ="width:200px;height:200px;top:100px;left:100px;position:absolute;z-index:-999"/>
</body>
</html>
更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。