移動しながら円運動
中心を移動しながら、円運動する。
中心を移動しながら、円運動する。
Sample Source......................................................................>>>
<script language="JavaScript"><!--
 
var flg = true;
 
var timerID;
 
function enn(){
  if(flg){
    timerID = setInterval("ennMove()",30);
    bt.innerText = "停止";
 
    flg = false;
 
  }else{
    clearInterval(timerID);
    bt.innerText = "円運動開始";
 
    flg = true;
 
  }
}
var i = 1;
 
var r = 40;   //円の半径
var cx = 150;	//円の中心(x座標、Left位置)
 
var cy = 150;	//円の中心(y座標、Top位置)
 
var dx = 1;   //円の中心の移動量(Left位置)
var dy = 2;   //円の中心の移動量(Top位置)
function ennMove(){
  var raj = 2 * Math.PI * i/45;	//ラジアン値を計算
    //Math.PIは円周率
  dv.style.pixelTop = cy + r*Math.sin(raj);
 
  dv.style.pixelLeft = cx + r*Math.cos(raj);
 
  i++;
  cy += dy;
 
  if((cy >= document.body.scrollTop
        +document.body.clientHeight-50)
        ||(cy <= document.body.scrollTop+50)){
 
    dy = -dy;	//符号の反転(移動方向を逆転する)
 
  }
  cx += dx;
 
  if((cx >= document.body.scrollLeft
        +document.body.clientWidth-50)
        ||(cx <= document.body.scrollLeft+50)){
 
    dx = -dx;	//符号の反転(移動方向を逆転する)
 
  }
} 
//--></script>
</head>
<body>
<button id="bt" onclick="enn();">円運動開始</button>
<div id="dv" style="position:absolute;top:150;left:250;
 
	width:30;height:30;font:20pt">●</div>
end(最終更新:12/11/12)