




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
时钟var now; /当前时间var ctx;/动画标签var hour;/当前时间的小时值;var minute;/当前时间的分钟值var second;/当前时间的秒值function init()/ 画出时钟clock();/ 让时钟动起来 setInterval(funcName,delay)/funcName:调用的函数名 delay:调用函数的间隔,以毫秒计算。1000毫秒=1秒setInterval(clock,1000);/ 画出时钟function clock()/获取到当前的时间/Date 对象自动使用当前的日期和时间作为其初始值。now = new Date();/获得动画标签 getContext()规定画面上的绘制环境,目前只有2dctx = document.getElementById(canvas).getContext(2d);/获取时钟的小时、分钟、秒的值/now. 获取现在时间(小时、分钟、秒)整数hour = now.getHours();minute = now.getMinutes();second = now.getSeconds();/开始画 save()保存当前图像的状态ctx.save(); /保存之前状态,同时将保存后的状态画笔位置重置initJob();/1、初始化操作drawBorder();/2、画时钟外框hourScale();/3、小时刻度minuteScale();/4、分钟刻度hourNeedle();/5、时针minuteNeedle();/6、分针secondNeedle();/7、秒针ctx.restore();/结束 restore()画完,将画笔状态还原/初始化操作function initJob()/clearRect() 方法删除一个画布的矩形区域。ctx.clearRect(0,0,600,600);/这里主要为了删除指针区域ctx.translate(300,300); /指针偏移位置,默认从0,0 处开始ctx.scale(0.7,0.7); /缩放比例ctx.lineCap= round;/刻度样式 round圆 butt平直 square正方形/canvas中rotate()中的角度是用弧度指定的/指针初始位置 指在12点 PI:180度ctx.rotate(-Math.PI / 2);/ 画时钟外框function drawBorder()ctx.save();/beginPath() 丢弃任何当前定义的路径并且开始一条新的路径ctx.beginPath(); /开始新路径ctx.lineWidth = 15; /画笔宽度,即时钟外框的宽度/ 画圆 0,0中心点坐标(画笔偏移过后的位置就是中心点) 200半径 Math.PI*2结束角度 true逆时针(false顺时针)ctx.arc(0,0,200,0, Math.PI*2,true);/画笔颜色ctx.strokeStyle = lightcoral;/开始画ctx.stroke(); / 动笔画ctx.restore();/画笔路径重置/ 小时刻度function hourScale()ctx.save();ctx.lineWidth = 7;/ 一天12小时,画十二个刻度for (var i = 0; i 12; i+) ctx.beginPath ();/开始新路径/ 360度 / 12度 = 30度,Math.PI:180弧度ctx.rotate(Math.PI / 6);/ 刻度长度 180-160 = 20/ moveto是移动到某个坐标,lineto是从当前坐标连线到某个坐标ctx.moveTo(180,0); / 画笔结束画的位置ctx.lineTo(160,0); / 画笔开始的位置ctx.stroke(); / 动笔画ctx.restore(); /重置画笔路径/ 分钟刻度function minuteScale()ctx.save();ctx.lineWidth = 4;/ 一小时60分钟for (var i = 0; i 60; i+) / 画分钟刻度,需要隔开小时刻度(5分钟一个小时刻度,跳小时刻度画分钟刻度if(i % 5 != 0)ctx.beginPath();/ moveto是移动到某个坐标,lineto是从当前坐标连线到某个坐标ctx.moveTo(180,0);ctx.lineTo(170,0);ctx.strokeStyle = cyan;ctx.stroke();/ 60个分钟刻度,3600/60=60ctx.rotate(Math.PI / 30);ctx.restore();/ 时针function hourNeedle()ctx.save();ctx.lineWidth = 8;ctx.beginPath();/ hour * (Math.PI / 6):一小时时针转动的角度 360/12/ minute * (Math.PI / 6 / 60):1分钟时钟转动的角度 360/12/60/ second * (Math.PI /6 /60 /3600) : 1秒钟时针转动的角度ctx.rotate(hour * (Math.PI / 6) + minute * (Math.PI / 6 / 60) );/ 时针长度 100ctx.moveTo(-15,0);ctx.lineTo(85,0);ctx.stroke(); /动笔画ctx.restore(); /重置画笔路径/ 分针function minuteNeedle()ctx.save();ctx.lineWidth = 6;ctx.beginPath();ctx.rotate(minute * (Math.PI / 30) );ctx.moveTo(-15,0);ctx.lineTo(110,0);ctx.stroke();ctx.restore();function secondNeedle()ctx.save();ctx.lineWidth = 3;ctx.beginPath();/ 1分钟60秒(秒
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旧外墙喷漆改造施工方案
- 债务重组协议债务减免与清偿期限
- 2025国家电投所属中国电力招聘笔试参考题库附带答案详解
- 2024-2025学年人教版8年级数学上册《 整式的乘法与因式分解》综合训练试题(含解析)
- 2025年抗菌药物合理使用培训考核题及答案
- 2023年度安全监察人员考前冲刺试卷附答案详解【基础题】
- 2025年电梯考试通关题库含答案详解【典型题】
- 2024年高职单招测试卷附完整答案详解(有一套)
- 期货从业资格之《期货法律法规》强化训练题型汇编附答案详解【培优】
- 2024-2025学年度电梯考试题库及参考答案详解(突破训练)
- PEP小学英语五年级上册第四单元全国优质课赛课一等奖《思维导图在小学英语复习课的应用》精品课件
- 新闻传播中的媒介素养课件
- 文学鉴赏-课件
- 小军师面试万能绝杀模板-组织管理
- midasCivil斜拉桥分析课件
- 超疏水材料课件
- 应急响应程序流程图
- 中医刮痧法诊疗操作评分标准
- 腧穴定位法课件
- 社会体育导论PTPPT课件讲义
- 学校体育学(第三版)ppt全套教学课件
评论
0/150
提交评论