$(function(){
var ele = document.getElementById("cv");
var ctx = ele.getContext("2d");
ctx.strokeStyle = "black";
ctx.lineWidth = 4;
setInterval(function(){
var d = new Date();
var sec = d.getSeconds();
ctx.save();
ctx.beginPath();
ctx.clearRect( 0, 0, ele.width, ele.height ) ;
ctx.arc( 150, 150, 120, 0 * Math.PI / 180, 360 * Math.PI / 180, false ) ;
var r = 100;
var angle = sec * 6 - 90;
var radian = (Math.PI * angle) / 180;
var xx = Math.cos(radian) * r;
var yy = Math.sin(radian) * r;
var x = 150;
var y = 150;
ctx.moveTo(x, y);
ctx.lineTo((x + xx), (y + yy));
ctx.stroke();
ctx.restore();
var str = "";
str += sec;
$("#result").text(str);
}, 1000);
});
針の確度をラジアン(radian)に変換しコサイン関数に渡し結果と半径をかけるとx座標、同じくサイン関数だとy座標を計算してくれます。後は中心座標から線を引く、これを1秒ごとに実行するとアナログ時計の秒針のような動きになりました。
以上
コメント