国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript Canvas繪制圓形時鐘效果

2019-11-19 16:49:41
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Canvas時鐘效果展示的具體代碼,供大家參考,具體內容如下

<html lang="en"> <head>  <meta charset="UTF-8">  <title></title>  <style>   canvas{    display: block;    margin: 0 auto;    background-color: #fdffad;    border: 1px solid #000;   }  </style>  <script type="text/javascript">    document.addEventListener('DOMContentLoaded',function(){    var oC=document.querySelector('canvas');    var gd=oC.getContext('2d');    var r=oC.width/2;     function drawBackground() {     gd.save();     //漸變      var ra = gd.createLinearGradient(600, 0, 400, 0);     ra.addColorStop(1, '#2dd9ff');     ra.addColorStop(0, '#8c48dd');      //表盤     gd.translate(r, r);     gd.beginPath();     gd.fillStyle = ra;     gd.lineWidth = 10;     gd.strokeStyle = '#211f4e';     gd.arc(0, 0, r-5, 0, Math.PI *2, false);     gd.fill();     gd.stroke();     //數(shù)字     for (var i = 1; i < 13; i++) {      var rad=i * Math.PI * 2 / 12;      var x = Math.sin(rad)*(r-70);      var y= -Math.cos(rad)*(r-70);      gd.fillStyle = "red";      gd.font = "bold 80px Calibri";      gd.lineWidth = 1;      gd.textAlign = 'center';      gd.textBaseline = 'middle';      gd.strokeText(i, x, y);     }     //點     for (var i = 0; i < 60; i++) {      gd.beginPath();      var rad=i * Math.PI * 2 / 60;      var x = Math.sin(rad)*(r-30);      var y= -Math.cos(rad)*(r-30);      if (i % 5 == 0) {       gd.fillStyle = 'red';      }      else {       gd.fillStyle = '#ccc'      }      gd.lineWidth = 2;      gd.arc(x, y, 6, 0, Math.PI * 2, false);      gd.fill();      gd.stroke();      gd.closePath();     }    }    //時針    function drawHour(h,m){     gd.save();     gd.beginPath();     var rad=2*Math.PI/12*h;     var mrad=2*Math.PI/12/60*m;     gd.rotate(rad+mrad);     gd.lineWidth=20;     gd.lineCap='round';     gd.moveTo(0,10);     gd.lineTo(0,-r/3);     gd.stroke();     gd.closePath();     gd.restore();    }    //分針    function drawMinutes(m){     gd.save();     gd.beginPath();     var rad=2*Math.PI/60*m;     gd.rotate(rad);     gd.lineWidth=10;     gd.lineCap='round';     gd.moveTo(0,10);     gd.lineTo(0,-r/2);     gd.stroke();     gd.closePath();     gd.restore();    }    //秒針    function drawSeconds(s){     gd.save();     gd.beginPath();     var rad=2*Math.PI/60*s;     gd.rotate(rad);     gd.fillStyle='red';     gd.moveTo(-2,20);     gd.lineTo(2,20);     gd.lineTo(1,-r+100);     gd.lineTo(-1,-r+100);     gd.fill();     gd.closePath();     gd.restore();    }    //圓點    function drawPoint(){     gd.beginPath();     gd.fillStyle='#fff';     gd.arc(0,0,5,Math.PI*2,false);     gd.fill();    }     function drawClock(){     gd.clearRect(0,0,oC.width,oC.height);     var oDate=new Date();     var h=oDate.getHours();     var m=oDate.getMinutes();     var s=oDate.getSeconds();     drawBackground();     drawHour(h,m);     drawMinutes(m);     drawSeconds(s);     drawPoint();     gd.restore();     }    drawClock();    setInterval(drawClock,1000);   },false);  </script> </head> <body> <canvas width="800" height="800"></canvas> </body> </html>

效果圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 自治县| 莱西市| 论坛| 黄龙县| 永平县| 凤阳县| 长宁区| 北京市| 永泰县| 长武县| 南京市| 大姚县| 怀安县| 万安县| 防城港市| 环江| 长乐市| 广宁县| 德昌县| 咸阳市| 阿克陶县| 如东县| 湖州市| 金湖县| 阿拉善右旗| 兴宁市| 盘山县| 霍林郭勒市| 高淳县| 同心县| 乐都县| 蕉岭县| 保定市| 临海市| 思茅市| 淳安县| 若羌县| 清原| 仙居县| 鲁山县| 台江县|