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

首頁 > 編程 > JavaScript > 正文

js Canvas繪制圓形時鐘效果

2019-11-19 17:31:23
字體:
供稿:網(wǎng)友

本文實例為大家分享了js Canvas圓形時鐘的具體實現(xiàn)代碼,供大家參考,具體內(nèi)容如下

<!DOCTYPE html><html>  <head>    <meta charset="utf-8" />    <title>Canvas Clock</title>    <style type="text/css">      div{        text-align: center;        margin-top: 250px;      }      #clock{        border: 1px solid #ccc;      }    </style>  </head>  <body>    <div>      <canvas id="clock" height="200px" width="200px"></canvas>    </div>    <script type="text/javascript" src="js/clock.js"></script>  </body></html>

js

var dom=document.getElementById('clock');var cxt=dom.getContext("2d");var width=cxt.canvas.width;var height=cxt.canvas.height;var r=width/2;function drawBackground(){  cxt.save();  cxt.translate(r,r);  cxt.beginPath();  cxt.lineWidth=10;  cxt.arc(0,0,r-5,0,2*Math.PI,false);  cxt.stroke();  cxt.font="18px Arial";  cxt.textAlign='center'  cxt.textBaseline='middle'  var hourNums=[3,4,5,6,7,8,9,10,11,12,1,2];  hourNums.forEach(function(number,i){    var rad=2*Math.PI/12*i;    var x=Math.cos(rad)*(r-30);    var y=Math.sin(rad)*(r-30);    cxt.fillText(number,x,y);  });  for(var i=0;i<60;i++){    var rad=2*Math.PI/60*i;    var x=Math.cos(rad)*(r-18);    var y=Math.sin(rad)*(r-18);    cxt.beginPath();    if(i % 5===0){      cxt.fillStyle="#000"      cxt.arc(x,y,2,0,2*Math.PI,false);    }    else{      cxt.fillStyle="#ccc"      cxt.arc(x,y,2,0,2*Math.PI,false);    }    cxt.fill();   }}function drawHour(hour,minute){  cxt.save();  cxt.beginPath();  var rad=2*Math.PI/12*hour;  var mrad=2*Math.PI/12/60*minute  cxt.rotate(rad+mrad);  cxt.lineWidth=6;  cxt.lineCap='round'  cxt.moveTo(0,10);  cxt.lineTo(0,-r/2);  cxt.stroke();  cxt.restore();}function drawMinute(minute){  cxt.save();  cxt.beginPath();  var rad=2*Math.PI/60*minute;  cxt.rotate(rad);  cxt.lineWidth=3;  cxt.lineCap='round'  cxt.moveTo(0,10);  cxt.lineTo(0,-r+30);  cxt.stroke();  cxt.restore();}function drawSecond(second){  cxt.save();  cxt.beginPath();  cxt.fillStyle='#c14543'  var rad=2*Math.PI/60*second;  cxt.rotate(rad);    cxt.moveTo(-2,20);  cxt.lineTo(2,20);  cxt.lineTo(1,-r+18);  cxt.lineTo(-1,-r+18);  cxt.fill();  cxt.restore();}function drawDot(){  cxt.beginPath();  cxt.fillStyle='#fff'  cxt.arc(0,0,3,0,2*Math.PI,false);  cxt.fill();}function draw(){  cxt.clearRect(0,0,width,height);  var now=new Date();  var hour=now.getHours();  var minute=now.getMinutes();  var second=now.getSeconds();  drawBackground();  drawHour(hour,minute);  drawMinute(minute);  drawSecond(second);  drawDot();  cxt.restore();}draw();setInterval(draw,1000);

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泗水县| 凤城市| 峨眉山市| 龙泉市| 石柱| 黄石市| 昌江| 堆龙德庆县| 兰溪市| 浦东新区| 定远县| 陵水| 泸溪县| 东阳市| 班玛县| 黔江区| 辽源市| 乐东| 辰溪县| 嫩江县| 吉首市| 大埔区| 平舆县| 东城区| 汝州市| 霍城县| 新干县| 仁化县| 毕节市| 新和县| 东港市| 仪征市| 星子县| 婺源县| 淮南市| 玉环县| 长白| 丹棱县| 宜黄县| 富蕴县| 九江市|