HTML Component(HTC) 小應(yīng)用

字號(hào):


    在微軟IE 5.0版本的瀏覽器發(fā)布以前,網(wǎng)頁(yè)編程中面對(duì)的最大挑戰(zhàn)就是不能輕易地創(chuàng)建組件,以達(dá)到代碼重用和多頁(yè)面共享的目的。這個(gè)問(wèn)題一直困擾著DHTML(動(dòng)態(tài) HEML)的網(wǎng)頁(yè)編程者。他們只能不斷地重復(fù)書(shū)寫(xiě)HTML、CSS和javascript的代碼,以滿足多個(gè)頁(yè)面上的重復(fù)或相似的功能。自IE 5.0瀏覽器發(fā)布后,這種情況得到了改善,它帶給我們一個(gè)新的指令組合方法,可把實(shí)現(xiàn)特定功能的代碼封裝在一個(gè)組件內(nèi),從而實(shí)現(xiàn)多頁(yè)面的代碼重用,使網(wǎng)頁(yè)編程進(jìn)入一個(gè)全新的天地。這個(gè)新的技術(shù)就是我們要談到的DHTML中的“行為”(Behaviors)。
    下面是我做的一個(gè)小例子:
    font_effect.htc
    代碼如下:
    ////////////////////////“行為”文檔開(kāi)始////////////////////////////
    //給“行為”增加四個(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的值里不能加括號(hào)
    <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)離開(kāi)后文字恢復(fù)原狀</span>
    </body>