猿问

为啥我的秒针转动是按照小时转的,而不是秒啊?

qq_笑的狠牵强_0
浏览 1289回答 1
1回答

西兰花伟大炮

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title>     <style>         #canvas{             border: 1px solid #e9e0b5;             margin: 200px auto;             display: block;         }     </style> </head> <body> <canvas id="canvas" width="300" height="300"></canvas> <script>     var canvas = document.getElementById("canvas");     var ctx = canvas.getContext("2d");     var width = ctx.canvas.width;     var height = ctx.canvas.height;     var r = width /2;     function drawbackground(ctx){         ctx.save();         ctx.translate(r,r);         ctx.beginPath();         ctx.lineWidth = 10;         ctx.arc(0 ,0 , r-5, 0, Math.PI * 2);         ctx.stroke();         ctx.closePath();         ctx.textAlign = "center";         ctx.textBaseline = "middle";         ctx.font = "18px Arial";         var hourNumber = [3,4,5,6,7,8,9,10,11,12,1,2];         hourNumber.forEach(function (number,i) {             var rad = Math.PI * 2 / 12 * i;             var x = Math.cos(rad) * (r - 40);             var y = Math.sin(rad) * (r - 40);             ctx.fillText(number,x,y);         });         for(var i = 0;i < 60;i++){             var raddot = Math.PI * 2 / 60 * i;             var x = Math.cos(raddot) * (r - 25);             var y = Math.sin(raddot) * (r - 25);             ctx.beginPath();             if(i % 5 === 0){                 ctx.arc(x,y,3,0,Math.PI * 2);                 ctx.fillStyle = "#000";             }else             {                 ctx.arc(x,y,3,0,Math.PI * 2);                 ctx.fillStyle = "gray";             }             ctx.fill();         }     }     function drawhour(hour,minute){         ctx.save();         ctx.beginPath();         var radhour = Math.PI * 2 /12 * hour;         var radminute = Math.PI * 2 /12 / 60 * minute;         ctx.rotate(radhour + radminute);         ctx.lineWidth = 6;         ctx.lineCap = "round";         ctx.moveTo(0,10);         ctx.lineTo(0,-r + 50);         ctx.stroke();         ctx.restore();     }     function drawminute(minute){         ctx.save();         ctx.beginPath();         var radhour = Math.PI * 2 /60 * minute;         ctx.rotate(radhour);         ctx.lineWidth = 3;         ctx.lineCap = "round";         ctx.moveTo(0,15);         ctx.lineTo(0,-r + 40);         ctx.stroke();         ctx.restore();     }     function drawsecond(second){         ctx.save();         ctx.beginPath();         var radsecond = Math.PI * 2 /60 * second;         ctx.rotate(radsecond);         ctx.moveTo(-2,20);         ctx.lineTo(2,20);         ctx.lineTo(-1,-r + 35);         ctx.lineTo(1,-r + 35);         ctx.fillStyle = "red";         ctx.fill();         ctx.restore();     }     function draw(){         ctx.clearRect(0,0,width,height);         var now = new Date();         var hour = now.getHours();         var minute = now.getMinutes();         var second = now.getSeconds();         drawbackground(ctx);         drawhour(hour,minute);         drawminute(minute);         drawsecond(second);         ctx.restore();     }     draw();     setInterval(draw,1000); </script> </body> </html>你又不贴代码,还要看你课程才知道你问的是什么,看你的问题,应该是时间转换错了,对比一下上面的吧
随时随地看视频慕课网APP

相关分类

Html5
我要回答