編程(Programming)是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應結果的過程。為了使計算機能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。 【實例名稱】 用JavaScript制作的特色時鐘 【實例描述】 JavaScript的功能非常強大,可結合CSS實現日歷、時鐘等。本例學習如何實現用純腳本制作的時鐘。 【實例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>無標題頁-本站(www.xue51.com)</title>
<SCRIPT language=javascript>
pX=400;pY=200;
obs = new Array(13);
function ob ()
{
for (i=0; i<13; i++) {
if (document.all) obs[i]=new Array (eval('ob'+i).style,-100,-100)
else obs[i] = new Array (eval('document.ob'+i),-100,-100)
}
}
//設置時鐘中各時間點的位置
function cl(a,b,c)
{
//判斷瀏覽器格式
if (document.all) {
//IE格式
if (a!=0) b+=-1
eval('c'+a+'.style.pixelTop='+(pY+(c))) //y坐標
eval('c'+a+'.style.pixelLeft='+(pX+(b))) //x坐標
}
else{
//其他瀏覽器格式
if (a!=0) b+=10
eval('document.c'+a+'.top='+(pY+(c)))
eval('document.c'+a+'.left='+(pX+(b)))
}
if (document.all) c0.style.pixelLeft=26
}
//設置時針、分針、秒針的顯示位置
function runClock()
{
for (i=0; i<13; i++) {
obs[i][0].left=obs[i][1]+pX
obs[i][0].top=obs[i][2]+pY
}
}
//設置時、分、秒的顯示效果
var lastsec;
function timer()
{
time = new Date ()
sec = time.getSeconds() //獲取當前時間的秒分
if (sec!=lastsec) { lastsec = sec
sec=Math.PI*sec/30 //秒
min=Math.PI*time.getMinutes()/30 //分
hr =Math.PI*((time.getHours()*60)+time.getMinutes())/360 //時
for (i=1;i<6;i++) {
obs[i][1] = Math.sin(sec) * (44 - (i-1)*11)-16;
if (document.layers)obs[i][1]+=10;
obs[i][2] = -Math.cos(sec) * (44 - (i-1)*11)-27;
}
for (i=6;i<10;i++) {
obs[i][1] = Math.sin(min) * (40 - (i-6)*10)-16;
if (document.layers)obs[i][1]+=10;
obs[i][2] = -Math.cos(min) * (40 - (i-6)*10)-27;
}
for (i=10;i<13;i++) {
obs[i][1] = Math.sin(hr) * (37 - (i-10)*11)-16;
if (document.layers)obs[i][1]+=10;
obs[i][2] = -Math.cos(hr) * (37 - (i-10)*11)-27;
}
}
}
//設置鐘點
function setNum()
{
cl (0,-67,-65);
cl (1,10,-51);
cl (2,28,-33);
cl (3,35,-8);
cl (4,28,17);
cl (5,10,35);
cl (6,-15,42);
cl (7,-40,35);
cl (8,-58,17);
cl (9,-65,-8);
cl (10,-58,-33);
cl (11,-40,-51);
cl (12,-16,-56);
}
</SCRIPT>
</head>
<body bgcolor="#ffffff" onLoad="ob(),setNum(),setInterval('timer()',100);setInterval('runClock()',100)">
右下角是顯示的時鐘效果
<div id="c0" style="position:absolute;right:6;top:6; z-index:2;">
</div>
<div id="c1" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>1</b></div>
<div id="c2" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>2</b></div>
<div id="c3" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>3</b></div>
<div id="c4" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>4</b></div>
<div id="c5" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>5</b></div>
<div id="c6" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>6</b></div>
<div id="c7" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>7</b></div>
<div id="c8" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>8</b></div>
<div id="c9" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>9</b></div>
<div id="c10" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>10</b></div>
<div id="c11" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>11</b></div>
<div id="c12" style="position:absolute;left:20;top:-20;
z-index:5;font-size:11px;"><b>12</b></div>
<div id="ob0" style="position:absolute;left:-20;top:-20;
z-index:1"> </div>
<div id="ob1" style="position:absolute;left:-20;top:-20;
z-index:8"> <font size="+3" color="#0000FF"><b>.</b></font></div>
<div id="ob2" style="position:absolute;left:-20;top:-20;
z-index:8"> <font size="+3" color="#0000FF"><b>.</b></font></div>
<div id="ob3" style="position:absolute;left:-20;top:-20;
z-index:8"> <font size="+3" color="#0000FF"><b>.</b></font></div>
<div id="ob4" style="position:absolute;left:-20;top:-20;
z-index:8"> <font size="+3" color="#0000FF"><b>.</b></font></div>
<div id="ob5" style="position:absolute;left:-20;top:-20;
z-index:8"> <font size="+3" color="#0000FF"><b>.</b></font></div>
<div id="ob6" style="position:absolute;left:-20;top:-20;
z-index:7"> <font size="+3" color="#00FFFF"><b>.</b></font></div>
<div id="ob7" style="position:absolute;left:-20;top:-20;
z-index:7"> <font size="+3" color="#00FFFF"><b>.</b></font></div>
<div id="ob8" style="position:absolute;left:-20;top:-20;
z-index:7"> <font size="+3" color="#00FFFF"><b>.</b></font></div>
<div id="ob9" style="position:absolute;left:-20;top:-20;
z-index:7"> <font size="+3" color="#00FFFF"><b>.</b></font></div>
<div id="ob10" style="position:absolute;left:-20;top:-20;
z-index:6"> <font size="+3" color="#F30000"><b>.</b></font></div>
<div id="ob11" style="position:absolute;left:-20;top:-20;
z-index:6"> <font size="+3" color="#F30000"><b>.</b></font></div>
<div id="ob12" style="position:absolute;left:-20;top:-20;
z-index:6"> <font size="+3" color="#F30000"><b>.</b></font></div> </body>
</html> 【運行效果】
 【難點剖析】 本例的重點是實現時鐘布局的原理。代碼中使用了以“c”開頭的12個變量分別代表12個時鐘數,然后又使用以“obs”開頭的12個變量勾畫出了時針、分針和秒針。 【源碼下載】 為了JS代碼的準確性,請點擊:用JavaScript制作的特色時鐘 進行本實例源碼下載
使用編程語言寫的程序,由于每條指令都對應計算機一個特定的基本動作,所以程序占用內存少、執行效率高。 |