本文实例为大家分享了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时钟特效专题
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】