|
|
JavaScript 实例讲解
数 字 时 钟 |
|
|
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函数。 |
|
|
|
|
|
|