问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

DW网页怎么设计一个时钟

发布网友 发布时间:2022-04-22 01:26

我来回答

2个回答

热心网友 时间:2022-04-20 00:09

<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>使用canvas元素绘制指针式动画时钟</title>
<script type="text/javascript">
var canvas;
var context;
//页面装载
function window_onload()
{
canvas=document.getElementById("canvas");//获取canvas元素
context=canvas.getContext('2d');//获取canvas元素的图形上下文对象
setInterval("draw()",1000);//每隔一秒重绘时钟,重新显示时间
}
//绘制时钟
function draw()
{
var radius=Math.min(canvas.width / 2, canvas.height / 2) -25;//时钟罗盘半径
var centerx=canvas.width/2;//时钟中心横坐标
var centery=canvas.height/2;//时钟中心纵坐标
context.clearRect(0,0,canvas.width,canvas.height);//擦除之前所绘时钟
context.save();//保存当前绘制状态

//绘制时钟圆盘
context.fillStyle = '#efefef';//时钟背景色
context.strokeStyle = '#c0c0c0';//时钟边框颜色
context.beginPath();//开始创建路径
context.arc(centerx,centery,radius, 0,Math.PI*2, 0);//创建圆形罗盘路径
context.fill();//用背景色填充罗盘
context.stroke();//用边框颜色绘制罗盘边框
context.closePath();//关闭路径
context.restore();//恢复之前保存的绘制状态

//绘制时钟上表示小时的文字
var r = radius - 10;//缩小半径,因为要将文字绘制在时钟内部
context.font= 'bold 16px 宋体';//指定文字字体
Drawtext('1', centerx + (0.5 * r), centery - (0.88 * r));
Drawtext('2', centerx + (0.866 * r), centery - (0.5 * r));
Drawtext('3', centerx + radius - 10,centery);
Drawtext('4', centerx + (0.866 * r), centery + (0.5 * r));
Drawtext('5', centerx + (0.5 * r), centery + (0.866 * r));
Drawtext('6', centerx, centery + r);
Drawtext('7', centerx - (0.5 * r), centery + (0.866 * r));
Drawtext('8', centerx - (0.866 * r), centery + (0.49 * r));
Drawtext('9', centerx - radius + 10, centery);
Drawtext('10',centerx - (0.866 * r),centery - (0.50 * r));
Drawtext('11', centerx - (0.51 * r), centery - (0.88 * r));
Drawtext('12', centerx, 35);
//绘制时钟指针
var date=new Date();//获取需要表示的时间
var h = date.getHours();//获取当前小时
var m = date.getMinutes();//获取当前分钟
var s=date.getSeconds();//获取当前秒
var a = ((h/12) *Math.PI*2) - 1.57 + ((m / 60) * 0.524);//根据当前时间计算指针角度

context.save();//保存当前绘制状态
context.fillStyle='black'; //指定指针中心点的颜色
context.beginPath();//开始创建路径
context.arc(centerx,centery,3,0,Math.PI * 2, 0);//创建指针中心点的路径
context.closePath();//关闭路径
context.fill();//填充指针中心点
context.lineWidth=3;//指定指针宽度
context.fillStyle='darkgray';//指定指针填充颜色
context.strokeStyle='darkgray';//指定指针边框颜色
context.beginPath();//开始创建路径
//绘制小时指针
context.arc(centerx,centery,radius - 55, a + 0.01, a, 1);
context.lineTo(centerx,centery);
//绘制分钟指针
context.arc(centerx,centery,radius - 40, ((m/60) * 6.27) - 1.57, ((m/60) * 6.28) - 1.57, 0);
context.lineTo(canvas.width / 2, canvas.height / 2);
//绘制秒钟指针
context.arc(centerx,centery,radius - 30, ((s/60) * 6.27) - 1.57, ((s/60) * 6.28) - 1.57, 0);
context.lineTo(centerx,centery);
context.closePath();//关闭路径
context.fill();//填充指针
context.stroke();//绘制指针边框
context.restore();//恢复之前保存的绘制状态

//指定时钟下部当前时间所用的字符串,文字格式为hh:mm:dd
var hours = String(h);
var minutes = String(m);
var seconds = String(s);
if (hours.length == 1) h = '0' + h;
if (minutes.length == 1) m = '0' + m;
if (seconds.length == 1) s = '0' + s;
var str =h + ':' + m + ':' +s;
//绘制时钟下部的当前时间
Drawtext(str, centerx, centery + radius + 12);
}
function Drawtext(text, x, y)
{
//因为需要使用到坐标平移,所以在平移前线保存当前绘制状态
context.save();
x -= (context.measureText(text).width / 2);//文字起点横坐标
y +=9;//文字起点纵坐标
context.beginPath();//开始创建路径
context.translate(x, y);//平移坐标
context.fillText(text,0,0);//填充文字
context.restore();
}
</script>
<style>
div{
display: -moz-box;
display: -webkit-box;
-moz-box-pack: center;
-webkit-box-pack: center;
width:100%;
}
canvas{
background-color:white;
}
</style>
</head>
<body onload="window_onload()">
<div><h1>使用canvas元素绘制指针式动画时钟</h1></div>
<div><canvas id="canvas" width="200px" height="200px"></canvas><div>//这里就是你的时钟的位置。
</body>
</html>

热心网友 时间:2022-04-20 01:27

你想做什么时钟,dw基本用js实现时钟功能的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我在电脑上面下的电影在手机上面不显示? 为什么视频在手机里放不出来在电脑里放得出来? 求问bb霜什么牌‍子‍好 BB霜哪个牌子的比较好啊? 我用很多BB霜都过敏脱皮,该用哪个牌子的才能不过敏?拜托了各位 谢谢... 没有去继续教育会计证会不会被吊销? 会计证连续几年未继续教育会被吊销 我想请问,能不能从视频里抓出一段声音,然后保存,变成手机铃声的那种格式... 高中地理知识如何描述地貌特征 中国地理第一讲:自然地理之河流 关于could的用法 css怎样让HTML中超出的内容显示为省略号 could,would有什么区别? Jquery限定文字行数 网页checkbox控制文字显示/隐藏,请帮忙看看哪里有... should与could的区别 displaybox 怎么让ie兼容性 can和could的区别和用法 css中display:-moz-box;是什么意思 can与could的区别 could怎么读 为什么最新版谷歌浏览器不支持display:box,还要加... could的用法归纳 css3盒子模型,display:-webkit-box的问题 could是是什么意思? 带有的歌词有哪些 could是什么意思 怎么写歌词? could的用法 歌词怎么写。 could和can的区别及用法 could后加什么 display:box的兼容性问题? could后可以加动词的什么形式 只招物化生的专业 使用Flexbox碰到了什么样的坑 如何在html+css 盒子有contenteditable=“true&quot;的时... HTML+css效果 有什么软件可以刷空间说说赞(求好用的) 什么软件能刷qq空间赞 无线路由和无线网关.无线网桥有什么不同 求一个手机刷Qq空间赞的软件,谢谢 空间点赞王怎么下载? shua名片赞或空间主页赞的软件 无线路由器的网关地址和DHCP地址怎么是一样的? 空间刷说说赞和评论软件 谁能给我个QQ刷空间说说赞的软件 谁有刷空间说说赞的软件,如果有给个链接必有重谢... 有没有可以刷空间说说赞的软件? 重阳节由来