极乐门资源网 Design By www.ioogu.com
本文实例为大家分享了js圆形时钟效果的具体代码,供大家参考,具体内容如下
代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>时钟</title> <style> *{margin: 0; padding: 0;} div.dd{ margin: 0 auto; width: 400px; padding-top: 100px; } </style> </head> <body> <div class="dd"> <canvas id="clock" height="400px" width="400px">你的浏览器不支持canvas</canvas> </div> <script type="text/javascript"> (function(doc){ var can = doc.getElementById("clock"); var con = can.getContext("2d");//创建一个2d上下文 con.translate(200, 200);//重新确定坐标原点(确定圆心位置) //外圆 con.beginPath(); con.fillStyle = '#fff'; con.arc(0, 0, 200, 0, Math.PI*2, false); con.fill(); //内圆 con.beginPath(); con.fillStyle = '#aaa'; con.arc(0, 0, 195, 0, Math.PI*2, false); con.fill(); //绘制刻度 con.beginPath(); con.font = "bold 20px sans-serif"; con.textAlign = "center"; con.textBaseline = "middle" con.fillStyle = '#000000'; con.fillText("12", 0, -170); con.fillText("3",170,0); con.fillText("6",0,170); con.fillText("9",-170,0); con.fillText("1",84,-147.224); con.fillText("2",147.224,-84); con.fillText("4",147.224,84); con.fillText("5",84,147.224); con.fillText("7",-84,147.224); con.fillText("8",-147.224,84); con.fillText("10",-147.224,-84); con.fillText("11",-84,-147.224); //获取当前时间 var d = new Date(), time ={}; time.H = d.getHours()%12; time.M = d.getMinutes(); time.S = d.getSeconds(); function getTime(){ time.S++; if(time.S > 59){ time.S = 0; time.M++; if(time.M > 60){ time.M = 0; time.H++; if(time.H > 11){ time.H = 0; } } } canvasTimeLine(); } //将角度转为弧度 function numToDeg(num){ return ((num*6 - 90)*0.0174444444444444); } //确定刻度位置 function computePositionByLenDeg(len, deg){ return { x: len*Math.cos(deg), y: len*Math.sin(deg) } } //绘制刻度 function canvasLineMintus(){ for(var i = 0;i<60; i++){ var rec = 180; con.beginPath(); con.lineWidth = 4; if(i%5 != 0){ con.lineWidth = 1; rec = 184 } var beinDeg = numToDeg(i), beginPot = computePositionByLenDeg(rec, beinDeg), endPot = computePositionByLenDeg(190, beinDeg); con.moveTo(beginPot.x, beginPot.y); con.lineTo(endPot.x, endPot.y); con.stroke(); } } function canvasTimeLine(){ var sDeg = numToDeg(time.S), mDeg = numToDeg(time.M), hDeg = numToDeg(time.H*5 + Math.floor(time.M/12)), sPot = computePositionByLenDeg(150, sDeg), mPot = computePositionByLenDeg(135, mDeg), hPot = computePositionByLenDeg(110, hDeg); //时钟表面 con.beginPath(); con.fillStyle = '#ddd'; con.arc(0, 0, 156, 0, Math.PI*2, false); con.fill(); //时针 con.beginPath(); con.moveTo(0, 0); con.lineTo(hPot.x, hPot.y); con.lineWidth = 6; con.strokeStyle = "#333"; con.stroke(); //分针 con.beginPath(); con.moveTo(0, 0); con.lineTo(mPot.x, mPot.y); con.lineWidth = 4; con.strokeStyle = "#333"; con.stroke(); //秒针 con.beginPath(); con.moveTo(0, 0); con.lineTo(sPot.x, sPot.y); con.lineWidth = 2; con.strokeStyle = "#ff0000"; con.stroke(); //针心 con.beginPath(); con.fillStyle = '#aaaaaa'; con.arc(0, 0, 8, 0, Math.PI*2, false); con.fill(); con.beginPath(); con.fillStyle = '#f00'; con.arc(0, 0, 4, 0, Math.PI*2, false); con.fill(); } canvasLineMintus(); getTime(); setInterval(getTime, 1000); })(document); </script> </body> </html>
更多JavaScript时钟特效点击查看:JavaScript时钟特效专题
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
js,圆形时钟,时钟
极乐门资源网 Design By www.ioogu.com
极乐门资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
极乐门资源网 Design By www.ioogu.com
暂无js计时事件实现圆形时钟的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 群星《歌手2024 第13期》[FLAC/分轨][325.93MB]
- 阿木乃《爱情买卖》DTS-ES【NRG镜像】
- 江蕾《爱是这样甜》DTS-WAV
- VA-Hair(OriginalBroadwayCastRecording)(1968)(PBTHAL24-96FLAC)
- 博主分享《美末2RE》PS5 Pro运行画面 玩家仍不买账
- 《双城之战2》超多新歌MV发布:林肯公园再次献声
- 群星《说唱梦工厂 第11期》[320K/MP3][63.25MB]
- 群星《说唱梦工厂 第11期》[FLAC/分轨][343.07MB]
- 群星《闪光的夏天 第5期》[320K/MP3][79.35MB]
- 秀兰玛雅.1999-友情人【大旗】【WAV+CUE】
- 小米.2020-我想在城市里当一个乡下人【滚石】【FLAC分轨】
- 齐豫.2003-THE.UNHEARD.OF.CHYI.3CD【苏活音乐】【WAV+CUE】
- 黄乙玲1986-讲什么山盟海誓[日本东芝版][WAV+CUE]
- 曾庆瑜1991-柔情陷阱[台湾派森东芝版][WAV+CUE]
- 陈建江《享受男声》DTS-ES6.1【WAV】