| 編程(Programming)是編定程序的中文簡(jiǎn)稱(chēng),就是讓計(jì)算機(jī)代碼解決某個(gè)問(wèn)題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式,使計(jì)算體系按照該計(jì)算方式運(yùn)行,并最終得到相應(yīng)結(jié)果的過(guò)程。為了使計(jì)算機(jī)能夠理解(understand)人的意圖,人類(lèi)就必須將需解決的問(wèn)題的思路、方法和手段通過(guò)計(jì)算機(jī)能夠理解的形式告訴計(jì)算機(jī),使得計(jì)算機(jī)能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計(jì)算體系之間交流的過(guò)程就是編程。 【實(shí)例名稱(chēng)】 文字的垂直滾動(dòng) 【實(shí)例描述】 HTML中的marquee元素可以實(shí)現(xiàn)文字的垂直滾動(dòng),但無(wú)法實(shí)現(xiàn)滾動(dòng)屬性的自定義。本例通過(guò)一段JayaScdpt代碼,學(xué)習(xí)如何實(shí)現(xiàn)一段文本的垂直滾動(dòng)。 【實(shí)例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>標(biāo)題頁(yè)</title>
<script language="JavaScript">
done = 0; //判斷是否滾動(dòng)
step = 4; //滾動(dòng)的步長(zhǎng)
function anim(yp,yk) //實(shí)現(xiàn)垂直滾動(dòng)的方法
{
if(document.layers) document.layers["divtxt"].top=yp; //netscape瀏覽器下
else document.all["divtxt"].style.top=yp; //指定文本的y坐標(biāo)
if(yp>yk) step = -4 //如果已經(jīng)到底部,則開(kāi)始向上移動(dòng)
if(yp<60) step = 4 //如果已經(jīng)到頂部,則開(kāi)始向下移動(dòng)
setTimeout('anim('+(yp+step)+','+yk+')', 35); //循環(huán)執(zhí)行滾動(dòng)方法
}
function start()
{
if(done) return
done = 1;
if(navigator.appName=="Netscape") {
document.divtxt.left=innerWidth/2 - 145;
anim(60,innerHeight - 60)
}
else
{
divtxt.style.left=11; //設(shè)置文本的x坐標(biāo)
anim(60,document.body.offsetHeight - 60) //調(diào)用垂直滾動(dòng)的方法
}
}
</script>
<div id="divtxt" style="position: absolute;top: -50;color: #000000;font-family:宋體;font-size:9pt;">
<p><font color=blue>文字垂直滾動(dòng)的特效演示</font>
</p></div>
<script language="JavaScript">
setTimeout('start()',10); //循環(huán)執(zhí)行start方法
</script> </head>
<body>
</body>
</html>
【運(yùn)行效果】 
【難點(diǎn)剖析】 本例的重點(diǎn)是實(shí)現(xiàn)垂直滾動(dòng)的方法“anim”。其包含兩個(gè)參數(shù):“yp"和“yk”!癥P”參數(shù)表示頂端應(yīng)置,到達(dá)此位置后文本不能再往上滾動(dòng)!皔k”表示底端位置,到達(dá)此位置后,不能再往下滾動(dòng)。其中文本滾動(dòng)的原理,就是不斷地動(dòng)態(tài)改變文本的y坐標(biāo)。 【源碼下載】 本實(shí)例JS代碼下載
使用編程語(yǔ)言寫(xiě)的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |