0
点赞
收藏
分享

微信扫一扫

javascript显示一个时钟


<HTML>

<HEAD>
<META name="GENERATOR" content="Microsoft FrontPage 5.0">
<META name="ProgId" content="FrontPage.Editor.Document">
<TITLE>指针式时钟</TITLE>
</HEAD>

<BODY οnlοad="clock()">

<SCRIPT LANGUAGE="JavaScript">
var S = '......'; S = S.split('');//构成秒针的圆点
var M = '.....'; M = M.split('');//构成分针的圆点
var H = '....'; H = H.split('');//构成时针的圆点
var Ybase = 8; //构成秒、分和时针的圆点之间的间隔距离(Y轴)
var Xbase = 8; //构成秒、分和时针的圆点之间的间隔距离(X轴)
var dots = 12; //钟盘上的小时刻度数,通常为12,即1,2,3,...,12
for (var
{//将小时刻度值(即1,2,3,...,12)分别放入各自的<DIV>块中,且其id属性相同,即dot_Digits
'<DIV id="dot_Digits" style="position:absolute;width:30px;height:30px;font-size:10px;color:black;text-align:center;padding-top:10px">'+(i+1)+'</DIV>');
}
for
{//将构成秒针的圆点分别放入各自的<DIV>块中,且其id属性相同,即s_dots
'<DIV id=s_dots style="position:absolute;width:2px;height:2px;font-size:2px;background:red"></DIV>');
}
for
{//将构成分针的圆点分别放入各自的<DIV>块中,且其id属性相同,即m_dots
'<DIV id=m_dots style="position:absolute;width:2px;height:2px;font-size:2px;background:black"></DIV>');
}
for
{//将构成时针的圆点分别放入各自的<DIV>块中,且其id属性相同,即h_dots
'<DIV id=h_dots style="position:absolute;width:2px;height:2px;font-size:2px;background:black"></DIV>');
}

function
{//显示指针式时钟
var time = new
var
var
var
var Ypos = document.body.scrollTop +80; //把时钟中心设置为距可视区顶边 80 pixel
var Xpos = document.body.scrollLeft +100;//把时钟中心设置为距可视区左边界 100 pixel
for (var
//根据新的时钟中心和各个小时刻度值的角度值,设置其新坐标
dot_Digits[i].style.pixelTop = Ypos -15 + 44 * Math.sin(-Math.PI/2+2*Math.PI*(i+1)/12);
dot_Digits[i].style.pixelLeft = Xpos -15 + 44 * Math.cos(-Math.PI/2+2*Math.PI*(i+1)/12);
}
var sec = -Math.PI/2 + 2*Math.PI * secs/60; //秒针角度
for
//根据新的时钟中心和秒针角度,设置秒针上各个圆点的坐标值
s_dots[i].style.pixelTop = Ypos + i * Ybase * Math.sin(sec);
s_dots[i].style.pixelLeft = Xpos + i * Xbase * Math.cos(sec);
}
var min = -Math.PI/2 + 2*Math.PI * mins/60; //分针角度
for
//根据新的时钟中心和分针角度,设置分针上各个圆点的坐标值
m_dots[i].style.pixelTop = Ypos + i * Ybase * Math.sin(min);
m_dots[i].style.pixelLeft = Xpos + i * Xbase * Math.cos(min);
}
var hr = -Math.PI/2 + 2*Math.PI * (hrs+mins/60)/12; //时针角度
for
//根据新的时钟中心和时针角度,设置时针上各个圆点的坐标值
h_dots[i].style.pixelTop = Ypos + i * Ybase*Math.sin(hr);
h_dots[i].style.pixelLeft = Xpos + i * Xbase*Math.cos(hr);
}
'clock()', 50);//定时
}
</SCRIPT>

</BODY>

</HTML>

设计思路


1、根据document.body对象的scrollTop和scrollLeft属性把时钟中心设置在页面可视区的左上角。


2、通过显示连续的几个小圆点 “.”来模拟显示秒针、分针和时针;而对于各个点的显示位置,可以根据各个指针的长度和角度计算得出。


3、为便于重新定位,可将表示时钟的所有元素(即小时刻度值和小圆点“.”)放入<DIV>标记,并且设置为绝对定位。


举报

相关推荐

0 条评论