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

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

js Canvas繪制圓形時(shí)鐘效果

2024-05-06 15:11:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了js Canvas圓形時(shí)鐘的具體實(shí)現(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);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持錯(cuò)新站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 泰安市| 承德县| 临高县| 华亭县| 云南省| 大城县| 云浮市| 平阴县| 韶关市| 桂阳县| 丽水市| 海门市| 大化| 惠东县| 慈溪市| 灌云县| 孟州市| 西吉县| 南昌县| 钟山县| 长阳| 宜兴市| 平潭县| 东辽县| 吐鲁番市| 济阳县| 京山县| 泗水县| 泰顺县| 长岛县| 日照市| 保靖县| 公安县| 化德县| 新龙县| 丹棱县| 宁德市| 万安县| 巴东县| 县级市| 台南县|