使用html与javascript制作简单的网页时钟
2012-10-11 08:18
931 查看
主要包含两部分,一是网页,在网页中添加一个canvas标签,主要的部分还是使用javascript实现对画布的控制
html部分
js部分
html部分
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> 网页时钟 </title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="description" content="" /> <script language="JavaScript" type = "text/javascript" src = "drawImage.js"></script> <script type="text/css"> div#btn { margin-top:300px;} </script> </head> <body > <div id = "btn"> <Button onclick = "drawImage()">单击画图</Button> <Button onclick = "second_pointer_move()">秒针移动</Button> <Button onclick = "demo()">示例</Button> </div> <canvas id="mycanvas" width='200' height='200' style="border:1px solid #c3c3c3;" >浏览器不支持</canvas> </body> </html>
js部分
setInterval('second_pointer_move()',1000); setInterval('minute_pointer_move()',1000); setInterval('hour_pointer_move()',1000); //初始化图形 var arr_loc = [100,100,100,100,100,100]; function drawImage(){ var can_vas = document.getElementById("mycanvas"); var ctx = can_vas.getContext("2d"); ctx.fillStyle='#c3c33c'; ctx.strokeStyle='#00ff00'; ctx.beginPath(); // Start the path ctx.arc(100, 100, 100, 0, Math.PI*2,true); // Draw a circle ctx.closePath(); ctx.fill(); ctx.stroke(); add_text(); } function add_text(){ var can_vas = document.getElementById("mycanvas"); var ctx = can_vas.getContext("2d"); ctx.save(); ctx.textAlign ='center'; ctx.font = "15px impact"; ctx.fillStyle='#ff0000'; ctx.fillText("12",100,20,100); ctx.fillText("6",100,195,100); ctx.fillText("3",190,105,100); ctx.fillText("9",8,105,100); } function cover_pointer(arr_loc_x,arr_loc_y){ var can_vas = document.getElementById("mycanvas"); var ctx = can_vas.getContext("2d"); ctx.beginPath(); ctx.moveTo(100,100); ctx.lineWidth = 2; ctx.strokeStyle='#c3c33c'; ctx.lineTo(arr_loc_x,arr_loc_y); ctx.closePath(); ctx.stroke(); } //秒针移动 function second_pointer_move(){ cover_pointer(arr_loc[0],arr_loc[1]); //drawImage(); var time = new Date(); var second_count = time.getSeconds(); var length = 80; var second_pointer_x ; var second_pointer_y ; var can_vas = document.getElementById("mycanvas"); var ctx = can_vas.getContext("2d"); angle = second_count*6; angle_sin = Math.sin(angle*Math.PI/180); angle_cos = Math.cos(angle*Math.PI/180); //计算终点坐标 switch(Math.floor(angle/90)){ case 0 : { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } case 1: { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } case 2: { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } default : { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; } } arr_loc[0] = second_pointer_x; arr_loc[1] = second_pointer_y; ctx.beginPath(); ctx.moveTo(100,100); ctx.lineWidth = 1; ctx.strokeStyle="#00ff00"; ctx.lineTo(second_pointer_x,second_pointer_y); ctx.closePath(); ctx.stroke(); } //分针移动 function minute_pointer_move(){ cover_pointer(arr_loc[2],arr_loc[3]); //drawImage(); var time = new Date(); var second_count = time.getMinutes(); var length = 65; var second_pointer_x ; var second_pointer_y ; var can_vas = document.getElementById("mycanvas"); var ctx = can_vas.getContext("2d"); angle = second_count*6; angle_sin = Math.sin(angle*Math.PI/180); angle_cos = Math.cos(angle*Math.PI/180); ctx.moveTo(100,100); //计算终点坐标 switch(Math.floor(angle/90)){ case 0 : { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } case 1: { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } case 2: { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } default : { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; } } arr_loc[2] = second_pointer_x; arr_loc[3] = second_pointer_y; ctx.beginPath(); ctx.moveTo(100,100); ctx.lineWidth = 1; ctx.lineTo(second_pointer_x,second_pointer_y); ctx.strokeStyle="#00ff00"; ctx.closePath(); ctx.stroke(); } //时针移动 function hour_pointer_move(){ cover_pointer(arr_loc[4],arr_loc[5]); //drawImage(); var time = new Date(); var second_count = time.getHours(); var minuute_count = time.getMinutes(); var length = 50; var second_pointer_x ; var second_pointer_y ; var can_vas = document.getElementById("mycanvas"); var ctx = can_vas.getContext("2d"); angle = (second_count%12+minuute_count/60)*30; angle_sin = Math.sin(angle*Math.PI/180); angle_cos = Math.cos(angle*Math.PI/180); ctx.moveTo(100,100); //计算终点坐标 switch(Math.floor(angle/90)){ case 0 : { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } case 1: { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } case 2: { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; break; } default : { second_pointer_x = 100 + length*angle_sin; second_pointer_y = 100 - length*angle_cos; } } arr_loc[4] = second_pointer_x; arr_loc[5] = second_pointer_y; ctx.beginPath(); ctx.moveTo(100,100); ctx.lineWidth = 1; ctx.lineTo(second_pointer_x,second_pointer_y); ctx.strokeStyle="#00ff00"; ctx.closePath(); ctx.stroke(); } //演示示例 function demo(){ var time = new Date(); var second_count = time.getHours(); alert(second_count%12); }
相关文章推荐
- 使用HTML+CSS+JS制作简单的网页菜单界面
- 在使用jQuery+HTML+Javascript的简单例子---很容易的制作双色表格
- 大学生简单网页个人主页制作大学生网页作业html&css视频教程
- 使用JavaScript制作简单的动画
- HTML学习笔记——标准网页设计+使用CSS、Javascript
- HTML 使用表格制作简单的个人简历
- 大学生简单网页div+css网页纯手写代码制作html静态页面切图排版
- HTML网页制作:[12]使用框架结构之frameset
- 使用Servlet制作简单登录验证,response下载文件与网页跳转
- android使用html+javascript来制作页面
- 首次使用photoshop制作简单的静态网页页面
- HTML+CSS+JavaScript网页制作案例教程 PDF
- html简单框架网页制作
- 使用HTML <frameset>元素制作导航网页
- iOS使用webView加载HTML网页链接简单展示
- 使用JavaScript设计一个简单的HTML倒计时页面
- html网页中使用javascript脚本调用xml文档实例
- html之简单网页制作一
- html之简单网页表格制作
- JavaScript小特效---简单的网页日历时钟