您的位置:寻梦网首页编程乐园JavaScriptJavaScript 实例讲解
JavaScript 实例讲解

数 字 时 钟  
       
效 果 演 示
  
现在时间是:

 

   
 
源代码如下



这段程序放在<head>与</head>之间

这段程序放在<body ****>正文中

这段程序放在<body>与</body>之间

   
源程序讲解:
     

var dn
定义一个新变量。
c1=new Image(); c1.src="img/c1.gif"
c2=new Image(); c2.src="img/c2.gif"
c3=new Image(); c3.src="img/c3.gif"
c4=new Image(); c4.src="img/c4.gif"
c5=new Image(); c5.src="img/c5.gif"
c6=new Image(); c6.src="img/c6.gif"
c7=new Image(); c7.src="img/c7.gif"
c8=new Image(); c8.src="img/c8.gif"
c9=new Image(); c9.src="img/c9.gif"
c0=new Image(); c0.src="img/c0.gif"
cb=new Image(); cb.src="img/cb.gif"
cam=new Image(); cam.src="img/cam.gif"
cpm=new Image(); cpm.src="img/cpm.gif"
定义一些新对象c1,c2...,分别是c1.gif,c2,gif....分别为数字1,2...
function extract(h,m,s,type){ 定义一个函数extract,具有四个参数h,m,s,type。
if (!document.images)
return
如果当前窗口不存在images对象,就返回。
if (h<=9){ document.images.a.src
=cb.src document.images.b.src=
eval("c"+h+".src") }
当h<9时,就在小时前输出一个黑背景,再输出ch.src图。
else { document.images.a.src=
eval("c"+Math.floor(h/10)+".src")
document.images.b.src=
eval("c"+(h%10)+".src") }
Math.floor(h/10)是返回一个小于h/10的整数。如果h>9,就输出一个c1图,再加上一张对h取模后的值的图。
if (m<=9){ document.images.d.src
=c0.src document.images.e.src=
eval("c"+m+".src") }
当m<=9时,就在分钟前输出一个0,再输出cm.src图。
else { document.images.d.src=
eval("c"+Math.floor(m/10)+".src")
document.images.e.src=
eval("c"+(m%10)+".src") }
如果m>9,先输出一张分钟的十位数上的数字,再加上一张对h取模后的值的图。
if (s<=9)
{ document.g.src=c0.src document.images.h.src=
eval("c"+s+".src") }
else { document.images.g.src=
eval("c"+Math.floor(s/10)+".src")
document.images.h.src=
eval("c"+(s%10)+".src") }
同上的讲解。
if (dn=="AM")
document.j.src=cam.src
else
document.images.j.src=cpm.src }
如果dn=AM,则输出am图,否则输出pm图。

function show()
{ if (!document.images) return

如果当前窗口不存在images对象,就返回。
var Digital=new Date() 定义一个新的时间对象。
var hours=Digital.getHours()
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
分别声明变量hours,minutes,seconds值为当前的小时数,分钟数和秒数。
dn="AM"
if ((hours>=12)&&(minutes>=1)
||(hours>=13))
{ dn="PM" hours=hours-12 }
给dn赋初值为am,当小时数>=12,分钟>=1时或者小时数大于等于13时,dn=pm,同时,小时数减12。
if (hours==0)
hours=12
当小时数等于0时,小时数为12。
extract(hours,minutes,seconds,dn) setTimeout("show()",1000) 1秒调用一次show函数。