• H TML5 之 (4) 小项目一 时钟


    这里做一个HTML5 入门的练手,一个小时钟项目,可以再上面拓展很多,程序员培养的就是思想

    <!DOCTYPE HTML>
    <html>
    <head>
    <title>Click</title>
    <style>
    #clock{
     background:#abcdef;
    }
    </style>
    </head>
    <body>
    <canvas id="clock" width="500" height="500" >
    您的浏览器不支持标签,无法看到时钟
    </canvas>
    </body>
    <script>
      var clock = document.getElementById("clock");
      var cxt = clock.getContext("2d");
      
      function drawCloclk(){
      
      cxt.clearRect(0,0,500,500);
      //获取时间对象
      var now = new Date();
      var sec = now.getSeconds();
      var min = now.getMinutes();
      var hours = now.getHours();
      //小时必须获取浮点类型
      hours = hours+min/60;
      //转换时间
      hours = hours >12?hours-12:hours;
          
      //表盘 蓝色
      cxt.lineWidth = 10;
      cxt.strokeStyle="blue";
      cxt.beginPath();
      cxt.arc(250,250,200,0,360,false);  
      cxt.stroke();
      cxt.closePath(); 
      //刻度
      for(var i=0;i<12;i++){
         //开启异次元空间
          cxt.save();
          cxt.beginPath();
          cxt.lineWidth = 10;
          cxt.strokeStyle="#000";
          //设置原点
          cxt.translate(250,250);
          //设置旋转角度
          cxt.rotate(i*30*Math.PI/180);
          //画线
          cxt.moveTo(0,-170);
          cxt.lineTo(0,-190);
          cxt.stroke();
          cxt.closePath(); 
          cxt.restore();
      }
      //分刻度
        for(var i=0;i<60;i++){
         //开启异次元空间
          cxt.save();
          cxt.beginPath();
          cxt.lineWidth = 5;
          cxt.strokeStyle="#000";
          //设置原点
          cxt.translate(250,250);
          //设置旋转角度
          cxt.rotate(i*6*Math.PI/180);
          //画线
          cxt.moveTo(0,-180);
          cxt.lineTo(0,-190);
          cxt.stroke();
          cxt.closePath(); 
          cxt.restore();
      }
      //时针
           //开启异次元空间
          cxt.save();
          cxt.beginPath();
          cxt.lineWidth = 7;
          cxt.strokeStyle="#000";
          //设置原点
          cxt.translate(250,250);
          //设置旋转角度
          cxt.rotate(hours*30*Math.PI/180);
          //画线
          cxt.moveTo(0,-140);
          cxt.lineTo(0,10);
          cxt.stroke();
          cxt.closePath(); 
          cxt.restore();
      //分针
             //开启异次元空间
          cxt.save();
          cxt.beginPath();
          cxt.lineWidth = 5;
          cxt.strokeStyle="#000";
          //设置原点
          cxt.translate(250,250);
          //设置旋转角度
          cxt.rotate(min*6*Math.PI/180);
          //画线
          cxt.moveTo(0,-160);
          cxt.lineTo(0,15);
          cxt.stroke();
          cxt.closePath(); 
          cxt.restore();
      //秒针
               //开启异次元空间
          cxt.save();
          cxt.beginPath();
          cxt.lineWidth = 3;
          cxt.strokeStyle="red";
          //设置原点
          cxt.translate(250,250);
          //设置旋转角度
          cxt.rotate(sec*6*Math.PI/180);
          //画线
          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 = "blue";
          cxt.fill();
          cxt.stroke();
                cxt.beginPath();
          //画交叉点
          cxt.arc(0,-150,5,0,360,false)
          cxt.closePath(); 
          cxt.fillstyle = "blue";
          cxt.fill();
          cxt.stroke();
          cxt.restore();
          }
          //使用周期循环函数setInternal(代码,时间),让时钟动起来
          drawCloclk;
          setInterval(drawCloclk,1000);
     </script>
    </html>
  • 相关阅读:
    dlo,学习清单
    OO第一单元优化博客
    BUAA Summer Practice 2017 #1 字符串专场
    OO第一次博客作业
    2018.12.16程设串讲
    助教工作总结 3-22
    软件工程助教3.15总结
    大数据应用技术课程实践--选题与实践方案
    第十五次作业-手写数字识别-小数据集
    第十四次作业-深度学习-卷积
  • 原文地址:https://www.cnblogs.com/sunxun/p/3826133.html
Copyright © 2020-2023  润新知