JavaScriptによるアニメーションの基礎

JavaScriptでDOMを操作してアニメーションを実現する。アニメーションの基礎の基礎。まずは、こんなhtmlを用意する。

<body onload="init()">
	<div id="board" style="position:relative;overflow:hidden;width:500px;height:300px;background-color:gray;">
		<div id="pin" style ="position:absolute;left:100px;"></div>
	</div>
	
</body>

idがboardとなっているdiv要素がアニメーションの描写領域。これをはみ出した部分は描写されない。次にidがpinとなっているdiv要素が、今回動く物体。黒い丸。

var y = 0;
var x = 0;
var pin;

function init(){
	pin = document.getElementById("pin");
	pin.style.y = y + "px";
	setInterval(update,10);
}

function update(){
	y += 1;
	x += 2;
	
	pin.style.top = y + "px";
	pin.style.left = x + "px";
}

あとはsetIntervalで1000分の10秒に一回、updateを呼び出して、pin要素のスタイルの座標を変更。ちなみにhtmlの方で、ちゃんとpositionをabsoluteにしておかないと、いくらtopとleftを変更しても動かない。実行すると黒丸が右下の方向に飛んでいく。描写領域の端まで来ると見えなくなる。