用html5的canvas画一个可以动的时钟

</pre><pre>
<!DOCTYPE html>
<html>
<head>
    <title>时钟</title>
    <meta charset="utf-8">
</head>
<body>
    <canvas id="myCanvas" height="500" width="500" style="margin-left: 350px">您的浏览器不支持html5的canvas元素</canvas>
    <audio preload controls="controls">
        <source src="mp3/2.ogg">
        <source src="mp3/1.mp3">
    </audio>
</body>
<script>
    function show(){
        var time=new Date();
        var miao=time.getSeconds();
        var fen=time.getMinutes()+miao/60;
        var shi=time.getHours()+fen/60;
        var context=document.getElementById('myCanvas').getContext('2d');
        context.clearRect(0,0,500,500);
        context.beginPath();
        context.arc(250,250,250,0,2*Math.PI);
        context.closePath();
        context.stroke();
        for(var i=0;i<12;i++){
            context.save();
            context.translate(250,250);
            context.beginPath();
            context.rotate(i*30*Math.PI/180);
            context.lineWidth=10;
            context.moveTo(0,-250);
            context.lineTo(0,-230);
            context.stroke();
            context.restore();
        }
        for(var j=0;j<60;j++){
            context.save();
            context.translate(250,250);
            context.beginPath();
            context.rotate(j*6*Math.PI/180);
            context.lineWidth=5;
            context.moveTo(0,-250);
            context.lineTo(0,-240);
            context.stroke();
            context.restore();
        }
       //时针
        context.save();
        context.translate(250,250);
        context.beginPath();
        context.lineWidth=10;
        context.strokeStyle='black';
        context.rotate(shi*30*Math.PI/180);
        context.moveTo(0,20);
        context.lineTo(0,-160);
        context.closePath();
        context.stroke();
        context.restore();

        context.save();
        context.translate(250,250);
        context.beginPath();
        context.lineWidth=8;
        context.strokeStyle='black';
        context.lineCap='round';
        context.rotate(fen*6*Math.PI/180);
        context.moveTo(0,20);
        context.lineTo(0,-180);
        context.closePath();
        context.stroke();
        context.restore();

        context.save();
        context.translate(250,250);
        context.beginPath();
        context.lineWidth=6;
        context.strokeStyle='red';
        context.lineCap='round';
        context.rotate(miao*6*Math.PI/180);
        context.moveTo(0,20);
        context.lineTo(0,-200);
        context.closePath();
        context.stroke();
        context.restore();
    }
   window.setInterval(show,1000) ;
</script>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值