• html5 canvas简易时钟


            <canvas id='clock' width=500 height=500>
                您的浏览器需要升级
            </canvas>
            <script type="text/javascript" charset="utf-8">
              var clock=document.getElementById("clock");
              var cxt=clock.getContext('2d');
              
              function drawClock () {          
              //清除画布    
                  cxt.clearRect(0,0,500,500);
              var now=new Date();
              var sec=now.getSeconds();
              var min=now.getMinutes();
              var hour=now.getHours();
              //时间格式   问题:将24小时制转化整12小时制
              hour=hour>12?hour-12:hour;
              hour=hour+min/60;
              //表盘(蓝色)
              cxt.strokeStyle='blue';
              cxt.lineWidth=10;
              cxt.beginPath();
              cxt.arc(250,250,200,0,360,false);
              cxt.closePath();
              cxt.stroke();
              //刻度
                //时刻度
                for (var i=0;i<12;i++) {
                    cxt.save();
                    cxt.lineWidth=7;
                    cxt.strokeStyle='#000';
                    //设置开始点
                    cxt.translate(250,250);
                    //设置弧度
                    cxt.rotate(i*30*Math.PI/180);
                    cxt.beginPath();
                    cxt.moveTo(0,-170);
                    cxt.lineTo(0,-190);
                    cxt.closePath();
                    cxt.stroke();
                    cxt.restore();
                }
                //分刻度
                for (var i=0;i<60;i++) {
                    cxt.save();
                    cxt.strokeStyle='#000';
                    cxt.lineWidth=5;
                    cxt.translate(250,250);
                    cxt.rotate(i*6*Math.PI/180);
                    cxt.beginPath();
                    cxt.moveTo(0,-180);
                    cxt.lineTo(0,-190);
                    cxt.closePath();
                    cxt.stroke();
                    cxt.restore();
                }
             
             //时针
             
             //设置时针分割
             cxt.save();
             
             cxt.lineWidth=7;
             cxt.strokeStyle='#000';
             cxt.translate(250,250);
             cxt.rotate(hour*30*Math.PI/180);
             cxt.beginPath();
             cxt.moveTo(0,-140);
             cxt.lineTo(0,10);
             cxt.closePath();
             cxt.stroke();
             cxt.restore();
             //分针
             cxt.save();
             cxt.lineWidth=5;
             cxt.strokeStyle='#000';
             cxt.translate(250,250);
             cxt.rotate(min*6*Math.PI/180);
             cxt.beginPath();
             cxt.moveTo(0,-160);
             cxt.lineTo(0,15);
             cxt.closePath();
             cxt.stroke();
             cxt.restore();
             
             //秒针
             cxt.save();
             cxt.lineWidth=3;
             cxt.strokeStyle='red';
             ///cxt.translate(250,250);
             cxt.translate(250,250);
             cxt.rotate(sec*6*Math.PI/180);
             cxt.beginPath();
             cxt.moveTo(0,-170);
             cxt.lineTo(0,20);
             cxt.closePath();
             cxt.stroke();
             //秒针修饰
             cxt.beginPath();
             cxt.arc(0,0,5,0,360,false);
             cxt.closePath();
             //设置填充样式
             cxt.fillStyle='gray';
             
             cxt.fill();
             cxt.stroke();
             //画另一个小圆
             cxt.beginPath();
             cxt.arc(0,-150,5,0,360,false);
             cxt.closePath();
             //设置填充样式
             cxt.fillStyle='gray';
             
             cxt.fill();
             cxt.stroke();
             cxt.restore();
             }
             //使用定时器让表针动起来
             drawClock();
             setInterval('drawClock()',1000);
            </script>
  • 相关阅读:
    利用Delegator模式保护javascript程序的核心与提高执行性能 (转)
    工作流
    蓝色垂直滑动效果的CSS导航
    JavaScript 多级联动浮动菜单 (第二版) (转)
    虚线效果水平CSS菜单
    红色玻璃效果水平CSS菜单
    CSS绿色水平多级下拉菜单
    ASP.NET中的Path(转)
    黑色与红色形成的水平CSS导航菜单
    紫罗兰水平CSS菜单
  • 原文地址:https://www.cnblogs.com/qyzy1024/p/3997079.html
Copyright © 2020-2023  润新知