html5中文学习网

您的位置: 首页 > html5教程 > 入门教程 » 正文

html5 canvas实现圆形时钟代码分享_html5教程技巧

[ ] 已经帮助:人解决问题
点评:html5canvas实现的时钟,大家参考使用吧

复制代码
代码如下:
V7AHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE html>V7AHTML5中文学习网 - HTML5先行者学习网
<html>V7AHTML5中文学习网 - HTML5先行者学习网
<head>V7AHTML5中文学习网 - HTML5先行者学习网
<meta charset="UTF-8">V7AHTML5中文学习网 - HTML5先行者学习网
<title>HTML CLOCK</title>V7AHTML5中文学习网 - HTML5先行者学习网
</head>V7AHTML5中文学习网 - HTML5先行者学习网
<body>V7AHTML5中文学习网 - HTML5先行者学习网
<canvas width="500" height="500" id="clock">V7AHTML5中文学习网 - HTML5先行者学习网
你的浏览器不支持canvas标签,时针显示不出来哦!V7AHTML5中文学习网 - HTML5先行者学习网
</canvas>V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
<script type="text/javascript">V7AHTML5中文学习网 - HTML5先行者学习网
//画布背景颜色V7AHTML5中文学习网 - HTML5先行者学习网
var clockBackGroundColor = "#ABCDEF";V7AHTML5中文学习网 - HTML5先行者学习网
//时针颜色V7AHTML5中文学习网 - HTML5先行者学习网
var hourPointColor = "#000";V7AHTML5中文学习网 - HTML5先行者学习网
//时针粗细V7AHTML5中文学习网 - HTML5先行者学习网
var hourPointWidth = 7;V7AHTML5中文学习网 - HTML5先行者学习网
//时针长度V7AHTML5中文学习网 - HTML5先行者学习网
var hourPointLength = 100;V7AHTML5中文学习网 - HTML5先行者学习网
//分针颜色V7AHTML5中文学习网 - HTML5先行者学习网
var minPointColor = "#000";V7AHTML5中文学习网 - HTML5先行者学习网
//分针粗细V7AHTML5中文学习网 - HTML5先行者学习网
var minPointWidth = 5;V7AHTML5中文学习网 - HTML5先行者学习网
//分针长度V7AHTML5中文学习网 - HTML5先行者学习网
var minPointLength = 150;V7AHTML5中文学习网 - HTML5先行者学习网
//秒针颜色V7AHTML5中文学习网 - HTML5先行者学习网
var secPointColor = "#F00";V7AHTML5中文学习网 - HTML5先行者学习网
//秒针粗细V7AHTML5中文学习网 - HTML5先行者学习网
var secPointWidth = 3;V7AHTML5中文学习网 - HTML5先行者学习网
//秒针长度V7AHTML5中文学习网 - HTML5先行者学习网
var secPointLength = 170;V7AHTML5中文学习网 - HTML5先行者学习网
//表盘颜色V7AHTML5中文学习网 - HTML5先行者学习网
var clockPanelColor = "#ABCDEF";V7AHTML5中文学习网 - HTML5先行者学习网
//表盘刻度颜色V7AHTML5中文学习网 - HTML5先行者学习网
var scaleColor = "#000";V7AHTML5中文学习网 - HTML5先行者学习网
//表盘大刻度宽度 3 6 9 12V7AHTML5中文学习网 - HTML5先行者学习网
var scaleBigWidth = 9;V7AHTML5中文学习网 - HTML5先行者学习网
//表盘大刻度的长度V7AHTML5中文学习网 - HTML5先行者学习网
var scaleBigLength = 15;V7AHTML5中文学习网 - HTML5先行者学习网
//表盘小刻度的宽度V7AHTML5中文学习网 - HTML5先行者学习网
var scaleSmallWidth = 5;V7AHTML5中文学习网 - HTML5先行者学习网
//表盘小刻度的长度V7AHTML5中文学习网 - HTML5先行者学习网
var scaleSmallLength = 10;V7AHTML5中文学习网 - HTML5先行者学习网
//圆心颜色V7AHTML5中文学习网 - HTML5先行者学习网
var centerColor = 'red';V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
//时钟画布V7AHTML5中文学习网 - HTML5先行者学习网
var clock = document.getElementById('clock');V7AHTML5中文学习网 - HTML5先行者学习网
clock.style.background = clockBackGroundColor;V7AHTML5中文学习网 - HTML5先行者学习网
//时针画布的作图环境(画板)V7AHTML5中文学习网 - HTML5先行者学习网
var panel = clock.getContext('2d');V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
//画线V7AHTML5中文学习网 - HTML5先行者学习网
/**V7AHTML5中文学习网 - HTML5先行者学习网
*画线段V7AHTML5中文学习网 - HTML5先行者学习网
*V7AHTML5中文学习网 - HTML5先行者学习网
*V7AHTML5中文学习网 - HTML5先行者学习网
*/V7AHTML5中文学习网 - HTML5先行者学习网
function drowLine(p,width,color,startX,startY,endX,endY,ran,cX,cY){V7AHTML5中文学习网 - HTML5先行者学习网
//保存传入的画板,相当于每次作画新开一个图层V7AHTML5中文学习网 - HTML5先行者学习网
p.save();V7AHTML5中文学习网 - HTML5先行者学习网
//设置画笔宽度V7AHTML5中文学习网 - HTML5先行者学习网
p.lineWidth = width;V7AHTML5中文学习网 - HTML5先行者学习网
//设置画笔颜色V7AHTML5中文学习网 - HTML5先行者学习网
p.strokeStyle = color;V7AHTML5中文学习网 - HTML5先行者学习网
//新开启作图路径,避免和之前画板上的内容产生干扰V7AHTML5中文学习网 - HTML5先行者学习网
p.beginPath();V7AHTML5中文学习网 - HTML5先行者学习网
p.translate(cX,cY);V7AHTML5中文学习网 - HTML5先行者学习网
//旋转V7AHTML5中文学习网 - HTML5先行者学习网
p.rotate(ran);V7AHTML5中文学习网 - HTML5先行者学习网
//移动画笔到开始位置V7AHTML5中文学习网 - HTML5先行者学习网
p.moveTo(startX,startY);V7AHTML5中文学习网 - HTML5先行者学习网
//移动画笔到结束位置V7AHTML5中文学习网 - HTML5先行者学习网
p.lineTo(endX,endY);V7AHTML5中文学习网 - HTML5先行者学习网
//画线操作V7AHTML5中文学习网 - HTML5先行者学习网
p.stroke();V7AHTML5中文学习网 - HTML5先行者学习网
//关闭作图路径,避免和之后在画板上绘制的内容产生干扰V7AHTML5中文学习网 - HTML5先行者学习网
p.closePath();V7AHTML5中文学习网 - HTML5先行者学习网
//在传入的画板对象上覆盖图层V7AHTML5中文学习网 - HTML5先行者学习网
p.restore();V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
/**V7AHTML5中文学习网 - HTML5先行者学习网
*画水平线V7AHTML5中文学习网 - HTML5先行者学习网
*/V7AHTML5中文学习网 - HTML5先行者学习网
function drowHorizontalLine(p,width,length,color,startX,startY,ran,cX,cY){V7AHTML5中文学习网 - HTML5先行者学习网
drowLine(p,width,color,startX,startY,startX+length,startY,ran,cX,cY);V7AHTML5中文学习网 - HTML5先行者学习网
} V7AHTML5中文学习网 - HTML5先行者学习网
/**V7AHTML5中文学习网 - HTML5先行者学习网
*画圈圈V7AHTML5中文学习网 - HTML5先行者学习网
*/V7AHTML5中文学习网 - HTML5先行者学习网
function drowCircle(p,width,color,centreX,centreY,r){V7AHTML5中文学习网 - HTML5先行者学习网
p.save();V7AHTML5中文学习网 - HTML5先行者学习网
//设置画笔宽度V7AHTML5中文学习网 - HTML5先行者学习网
p.lineWidth = width;V7AHTML5中文学习网 - HTML5先行者学习网
//设置画笔颜色V7AHTML5中文学习网 - HTML5先行者学习网
p.strokeStyle = color;V7AHTML5中文学习网 - HTML5先行者学习网
//新开启作图路径,避免和之前画板上的内容产生干扰V7AHTML5中文学习网 - HTML5先行者学习网
p.beginPath();V7AHTML5中文学习网 - HTML5先行者学习网
//画圈圈V7AHTML5中文学习网 - HTML5先行者学习网
p.arc(centreX,centreY,r,0,360,false);V7AHTML5中文学习网 - HTML5先行者学习网
//画线操作V7AHTML5中文学习网 - HTML5先行者学习网
p.stroke();V7AHTML5中文学习网 - HTML5先行者学习网
//关闭作图路径,避免和之后在画板上绘制的内容产生干扰V7AHTML5中文学习网 - HTML5先行者学习网
p.closePath();V7AHTML5中文学习网 - HTML5先行者学习网
//在传入的画板对象上覆盖图层V7AHTML5中文学习网 - HTML5先行者学习网
p.restore();V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
function drowPoint(p,width,color,centreX,centreY,r){V7AHTML5中文学习网 - HTML5先行者学习网
p.save();V7AHTML5中文学习网 - HTML5先行者学习网
//设置画笔宽度V7AHTML5中文学习网 - HTML5先行者学习网
p.lineWidth = width;V7AHTML5中文学习网 - HTML5先行者学习网
//设置画笔颜色V7AHTML5中文学习网 - HTML5先行者学习网
p.fillStyle = color;V7AHTML5中文学习网 - HTML5先行者学习网
//新开启作图路径,避免和之前画板上的内容产生干扰V7AHTML5中文学习网 - HTML5先行者学习网
p.beginPath();V7AHTML5中文学习网 - HTML5先行者学习网
//画圈圈V7AHTML5中文学习网 - HTML5先行者学习网
p.arc(centreX,centreY,r,0,360,false);V7AHTML5中文学习网 - HTML5先行者学习网
//画线操作V7AHTML5中文学习网 - HTML5先行者学习网
p.fill();V7AHTML5中文学习网 - HTML5先行者学习网
//关闭作图路径,避免和之后在画板上绘制的内容产生干扰V7AHTML5中文学习网 - HTML5先行者学习网
p.closePath();V7AHTML5中文学习网 - HTML5先行者学习网
//在传入的画板对象上覆盖图层V7AHTML5中文学习网 - HTML5先行者学习网
p.restore();V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
function drowScales(p){V7AHTML5中文学习网 - HTML5先行者学习网
//画小刻度V7AHTML5中文学习网 - HTML5先行者学习网
for(var i = 0;i < 60;i++){V7AHTML5中文学习网 - HTML5先行者学习网
drowHorizontalLine(p,scaleSmallWidth,scaleSmallLength,scaleColor,195-scaleSmallLength,0,i*6*Math.PI/180,250,250);V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
//画大刻度V7AHTML5中文学习网 - HTML5先行者学习网
for(var i = 0;i < 12;i++){V7AHTML5中文学习网 - HTML5先行者学习网
drowHorizontalLine(p,i%3==0?scaleBigWidth*1.2:scaleBigWidth,i%3==0?scaleBigLength*1.2:scaleBigLength,scaleColor,195-scaleBigLength,0,i*30*Math.PI/180,250,250);V7AHTML5中文学习网 - HTML5先行者学习网
//可以添加数字刻度V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
function drowHourPoint(p,hour){V7AHTML5中文学习网 - HTML5先行者学习网
drowHorizontalLine(p,hourPointWidth,hourPointLength,hourPointColor,-10,0,(hour-3)*30*Math.PI/180,250,250);V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
function drowMinPoint(p,min){V7AHTML5中文学习网 - HTML5先行者学习网
drowHorizontalLine(p,minPointWidth,minPointLength,minPointColor,-15,0,(min-15)*6*Math.PI/180,250,250);V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
function drowSecPoint(p,sec){V7AHTML5中文学习网 - HTML5先行者学习网
drowHorizontalLine(p,secPointWidth,secPointLength,secPointColor,-15,0,(sec-15)*6*Math.PI/180,250,250);V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
function drowClock(){V7AHTML5中文学习网 - HTML5先行者学习网
panel.clearRect(0,0,500,500);V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
panel.fillText("",10,20);V7AHTML5中文学习网 - HTML5先行者学习网
panel.fillText("<a href="http://www.jb51.net",10,40">http://www.jb51.net",10,40</a>);V7AHTML5中文学习网 - HTML5先行者学习网
var date = new Date();V7AHTML5中文学习网 - HTML5先行者学习网
var sec = date.getSeconds();V7AHTML5中文学习网 - HTML5先行者学习网
var min = date.getMinutes();V7AHTML5中文学习网 - HTML5先行者学习网
var hour = date.getHours() + min/60;V7AHTML5中文学习网 - HTML5先行者学习网
drowCircle(panel,7,'blue',250,250,200);V7AHTML5中文学习网 - HTML5先行者学习网
drowScales(panel);V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
drowHourPoint(panel,hour);V7AHTML5中文学习网 - HTML5先行者学习网
drowMinPoint(panel,min);V7AHTML5中文学习网 - HTML5先行者学习网
drowSecPoint(panel,sec);V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
drowPoint(panel,1,centerColor,250,250,7);V7AHTML5中文学习网 - HTML5先行者学习网
//drowHorizontalLine(panel,10,10,'red',-5,0,0,250,250);V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
//drowHorizontalLine(panel,7,30,'#F00',0,0,Math.PI,250,250);V7AHTML5中文学习网 - HTML5先行者学习网
drowClock();V7AHTML5中文学习网 - HTML5先行者学习网
setInterval(drowClock,1000);V7AHTML5中文学习网 - HTML5先行者学习网
function save(){V7AHTML5中文学习网 - HTML5先行者学习网
var image = clock.toDataURL("image/png").replace("image/png", "image/octet-stream"); V7AHTML5中文学习网 - HTML5先行者学习网
location.href=image;V7AHTML5中文学习网 - HTML5先行者学习网
}V7AHTML5中文学习网 - HTML5先行者学习网
</script>V7AHTML5中文学习网 - HTML5先行者学习网
</body>V7AHTML5中文学习网 - HTML5先行者学习网
</html>V7AHTML5中文学习网 - HTML5先行者学习网
V7AHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助