在微軟IE 5.0版本的瀏覽器發(fā)布以前,網(wǎng)頁編程中面對的最大挑戰(zhàn)就是不能輕易地創(chuàng)建組件,以達(dá)到代碼重用和多頁面共享的目的。這個(gè)問題一直困擾著DHTML(動(dòng)態(tài) HEML)的網(wǎng)頁編程者。他們只能不斷地重復(fù)書寫HTML、CSS和javascript的代碼,以滿足多個(gè)頁面上的重復(fù)或相似的功能。自IE 5.0瀏覽器發(fā)布后,這種情況得到了改善,它帶給我們一個(gè)新的指令組合方法,可把實(shí)現(xiàn)特定功能的代碼封裝在一個(gè)組件內(nèi),從而實(shí)現(xiàn)多頁面的代碼重用,使網(wǎng)頁編程進(jìn)入一個(gè)全新的天地。這個(gè)新的技術(shù)就是我們要談到的DHTML中的“行為”(Behaviors)。
下面是我做的一個(gè)小例子:
font_effect.htc
代碼如下:
////////////////////////“行為”文檔開始////////////////////////////
//給“行為”增加四個(gè)鼠標(biāo)事件
<PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="glowit()"/>
<PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="noglow()"/>
<PUBLIC:ATTACH EVENT="onmousedown" ONEVENT="font2yellow()"/>
<PUBLIC:ATTACH EVENT="onmouseup" ONEVENT="font2blue()"/>
//給“行為”定義二個(gè)方法,注意NAME的值里不能加括號
<PUBLIC:METHOD NAME="move_down"/>
<PUBLIC:METHOD NAME="move_right"/>
<script language ="JScript">
//定義一個(gè)保存字體顏色的變量
var font_color;
//定義向下移動(dòng)文字的方法
function move_down()
{
element.style.posTop += 10;
}
//定義向右移動(dòng)文字的方法
function move_right()
{
element.style.posLeft += 10;
}
//定義鼠標(biāo)onmouseup事件的調(diào)用函數(shù)
function font2blue()
{
if (event.srcElement == element)
{
element.style.color = "blue";
}
}
//定義鼠標(biāo)onmousedown事件的調(diào)用函數(shù)
function font2yellow()
{
if (event.srcElement == element)
{
element.style.color = "yellow";
}
}
//定義鼠標(biāo)onmouseover事件的調(diào)用函數(shù)
function glowit()
{
if (event.srcElement == element)
{
font_color=style.color;
element.style.color = "white";
element.style.filter = "glow(color=red, strength=2)";
}
}
//定義鼠標(biāo)onmouseout事件的調(diào)用函數(shù)
function noglow()
{
if (event.srcElement == element)
{
element.style.filter = "";
element.style.color = font_color;
}
}
</script>
//////////////////“行為”文檔結(jié)束///////////////////////////////
htcExample.htm
代碼如下:
<html>
<head>
<title>行為效果演示</title>
<style>
.myfilter{behavior:url(font_effect.htc);position:relative;width:880}
</style>
</head>
<body>
<button onclick="myspan.move_right();">向右移動(dòng)文字</button>
<button onclick="myspan.move_down();">向下移動(dòng)文字</button>
<br /><br />
<span id="myspan" class='myfilter'>鼠標(biāo)指向后產(chǎn)生輝光,同時(shí)文字變白;按下鼠標(biāo)后文字變黃;抬起鼠標(biāo)后文字變藍(lán);鼠標(biāo)離開后文字恢復(fù)原狀</span>
</body>
更多信息請查看IT技術(shù)專欄