HOME  >>>  HTML整理ノート  >>> DHTML --  基本編  応用編

移動しながら円運動

中心を移動しながら、円運動する。

 

 

 

 

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)