纯js实现时针


纯js实现时针


html:

<canvas id="canvas"></canvas>

js:

window.onload=function(){

           beginTime();

            setInterval(beginTime,1000);

}

function beginTime(){

            var oDate = new Date();//获取当前时间

            var oHours = oDate.getHours();//定义时

            var oMin = oDate.getMinutes();//定义分

             var oSen = oDate.getSeconds();//定义秒

              var oHoursValue=(-90+oHours*30)*Math.PI/180;//把时转换成弧度

               var oMinValue=(-90+oMin*6)*Math.PI/180;//把分转换成弧度

                var oSenValue=(-90+oSen*6)*Math.PI/180;//把秒转换成弧度

                // alert(1);

                 // 创建一个圆形:x,y圆心的坐标,r半径,startAngle起点的弧度,endAngle终点的弧度,是顺时针旋转还是逆时针

                 // context.act(x,y,r,startAngle,endAngle,false);

                 var x = 200;

                  var y = 200;

                   var r = 150;

                   var canvas = document.getElementById("canvas");//获取canvas的对象

                   var context = canvas.getContext("2d");//设置环境

                    canvas.width=500;//定义宽度

                    canvas.height=500;//定义高度

                    context.clearRect(0,0,canvas.width,canvas.height);//清除

                // 1:画分钟点

                context.beginPath();//开始

                for(var i=0; i<60;i++){

                            // 开始一条路径,移动到位置 0,0

                            context.moveTo(x,y);

                            // 创建一个圆形:

                            context.arc(x,y,r,6*i*Math.PI/180,6*(i+1)*Math.PI/180,false);

                 }

                   context.closePath();//结束

                   context.stroke();

                   context.fillStyle = '#fff';

                    context.beginPath();//开始

                    context.moveTo(x,y);

                    context.arc(x,y,r*19/20,0,360*Math.PI/180,false);

                     context.closePath();//结束

                      context.fill();

                //2: 时针点

                    context.beginPath();//开始

                    context.lineWidth=3;

                    for(var i=0; i< 12;i++){

                             context.moveTo(x,y);

                             context.arc(x,y,r,30*i*Math.PI/180,30*(i + 1)*Math.PI/180,false);

                   }

                   context.closePath();//结束

                    context.stroke();

                     context.fillStyle = '#fff';

                       context.beginPath();//开始

                      context.moveTo(x,y);

                     context.arc(x,y,r*18/20,0,360*Math.PI/180,false);

                      context.closePath();//结束

                      context.fill();

// 画时针

context.lineWidth = 5;

context.beginPath();

context.moveTo(x,y);

context.arc(x,y,r*11/20,oHoursValue,oHoursValue,false);

context.closePath();//结束

context.stroke();

// 画分针

context.lineWidth = 3;

context.beginPath();

context.moveTo(x,y);

context.arc(x,y,r*15/20,oMinValue,oMinValue,false);

context.closePath();//结束

context.stroke();

// 画秒针

context.lineWidth = 1;

context.beginPath();

context.moveTo(x,y);

context.arc(x,y,r*17/20,oSenValue,oSenValue,false);

context.closePath();//结束

context.stroke();

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 10,181评论 2 32
  • 一、基础介绍和画直线 大多数现代浏览器都是支持Canvas的,比如 Firefox, safari, chrome...
    空谷悠阅读 4,324评论 0 1
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    Looog阅读 9,355评论 3 40
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    J_L_L阅读 5,427评论 0 4
  • 1、Ann工作总结: 今天进行了第一天的培训,感觉收获良多,通过校长的讲述,我得以系统地了解了我们超优教育...
    平平魚阅读 1,553评论 0 0