午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    htc教程
    來源:易賢網(wǎng) 閱讀:798 次 日期:2016-06-22 09:44:06
    溫馨提示:易賢網(wǎng)小編為您整理了“htc教程”,方便廣大網(wǎng)友查閱!

    在微軟ie 5.0版本的瀏覽器發(fā)布以前,網(wǎng)頁編程中面對的最大挑戰(zhàn)就是不能輕易地創(chuàng)建組件,以達(dá)到代碼重用和多頁面共享的目的。這個問題一直困擾著dhtml(動態(tài) heml)的網(wǎng)頁編程者。他們只能不斷地重復(fù)書寫html、css和javascript的代碼,以滿足多個頁面上的重復(fù)或相似的功能。自ie 5.0瀏覽器發(fā)布后,這種情況得到了改善,它帶給我們一個新的指令組合方法,可把實(shí)現(xiàn)特定功能的代碼封裝在一個組件內(nèi),從而實(shí)現(xiàn)多頁面的代碼重用,使網(wǎng)頁編程進(jìn)入一個全新的天地。這個新的技術(shù)就是我們要談到的dhtml中的“行為”(behaviors)。

    “行為”作為一個簡單易用的組件,它封裝了頁面上特定的功能或動作。當(dāng)把一個“行為”附到web頁面中的一個元件上時,這個元件的原有行為就會有所改變。因此,網(wǎng)頁編程者可以開發(fā)通用的dhtml指令,并改變原有對象的一些屬性,用“行為”來增強(qiáng)一個對象的功能,同時也簡化了頁面的html代碼。而且“行為”的創(chuàng)建和使用也非常簡單方便,所需的知識也只是原來已經(jīng)習(xí)慣使用的css樣式表、html指令和javascript腳本語言。只要你對此有所了解,有過實(shí)際編程的經(jīng)歷,學(xué)習(xí)并掌握“行為”的使用完全沒有問題。我們將以一個改變字體效果的“行為”組件為例來說明如何編寫和使用一個“行為”,并體驗(yàn)“行為”給頁面編輯帶來的優(yōu)點(diǎn)和方便之處。

    首先新建一個名為font_efftce.htc的文本文件,組成“行為”組件的文件都是以.htc為擴(kuò)展名,這個文件中的內(nèi)容就是我們對這個“行為”的描述。它的創(chuàng)建和使用步驟如下:

    (1)首先給這個“行為”增加幾個事件響應(yīng),語句書寫格式如下:

    < public:attach event=onmouseover onevent=glowit() / >

    < public:attach event=onmouseout onevent=noglow() / >

    < public:attach event=onmousedown onevent=font2yellow() / >

    < public:attach event=onmouseup onevent=font2blue() / >

    “event”對應(yīng)所需事件名,在這里分別為:onmouseover,onmouseout,onmousedown,onmouseup四個事件名,你當(dāng)然可以再增加其它的事件名來滿足你的特定需求?!皁nevent”對應(yīng)著個自的事件句柄,即事件觸發(fā)時所調(diào)用的函數(shù)名稱。glowit()函數(shù)使字體周圍產(chǎn)生一個紅色的輝光。noglow()函數(shù)是消除字體的輝光效果。font2yellow()函數(shù)是把字體顏色改為黃色。font2blue()函數(shù)是把字體顏色改為藍(lán)色。四個事件的定義都是相似的。

    (2)接下來,再給這個“行為”增加二個“方法”定義,內(nèi)容如下。

    < public:method name=move_down / >

    < public:method name=move_right / >

    “name”參數(shù)對應(yīng)的是給定的“方法”名稱。move_down和move_right分別是向下和向右移動的“方法”對應(yīng)的函數(shù)名稱。注意,在方法名的后面不要帶“( )”括號,即不要寫成“move_down()”這個樣子,這在“方法”定義的語法上是不允許的。

    (3)接下來的工作就是在我們熟悉的dhtml環(huán)境下,用javascript腳本語句編寫“事件句柄”和“方法”所對應(yīng)的函數(shù)內(nèi)容,實(shí)現(xiàn)預(yù)期的效果。具體內(nèi)容參考下面的源程序。其中的“element”參數(shù)指的是這個“行為”所附著的對象,因?yàn)椤靶袨椤笨偸潜桓街巾撁娴脑厦妫⑼ㄟ^這個元件發(fā)揮作用。其它語句都是dhtml的編程內(nèi)容,就不再多說了。如有不明之處,可參考微軟的msdn開發(fā)文檔中有關(guān)ie瀏覽器的內(nèi)容,上面有詳細(xì)的dhtml編程參考內(nèi)容、屬性和方法使用說明等,并包含了大量的文章和舉例程序。經(jīng)常訪問微軟的msdn文檔,尤其對于初學(xué)者來說是一個良好的學(xué)習(xí)習(xí)慣,你幾乎可以得到任何你想找的答案,它的網(wǎng)址為:。

    完整的“行為”文檔“font_effect.htc”的內(nèi)容如下:

    ////////////////////////////“行為”文檔開始///////////////////////////////////

    //給“行為”增加四個鼠標(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() / >

    //給“行為”定義二個方法

    < public:method name=move_down / >

    < public:method name=move_right / >

    < script language=jscript >

    //定義一個保存字體顏色的變量

    var font_color;

    //定義向下移動文字的方法

    function move_down()

    {

    element.style.postop+=2;

    }

    //定義向右移動文字的方法

    function move_right()

    {

    element.style.posleft +=6;

    }

    //定義鼠標(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é)束///////////////////////////////

    (4)如何在一個頁面上使用“行為”

    在頁面上使用“行為”組件,并不需要學(xué)習(xí)新的知識。所需的知識的也不過是css樣式表和html的設(shè)置而已,請看下面的語句。

    < style >

    .myfilter{behavior:url(font_effect.htc);position:relative;font-weight:bold;width=180;left:0;}

    < /style >

    可以看出,這和以前我們已經(jīng)熟知的樣式表設(shè)置完全相同。上面的語句定義了一個樣式名:“myfilter”,其中對我們來說比較新的內(nèi)容是:“behavior:url(font_effect.htc);”,“behavior”是新增的“行為”屬性名,這就是“行為”在樣式表中的設(shè)置方式。括號中的內(nèi)容是“行為”文檔的文件名,本例中表明“行為”文檔在與頁面文件在同一個目錄下,如果“行為”文檔安置在其它目錄下,在此參數(shù)的前面要加上相應(yīng)的路徑名,以保證可以正確地定位“行為”文檔的位置。此“樣式”中的其它內(nèi)容就是普通的樣式屬性設(shè)置,可根據(jù)你的需要增減,但在此例中,由于使用了“glow”濾鏡效果,至少要設(shè)置一個寬度(width)屬性。通過以上的樣式指定,我們就有了一個名為:“myfilter”的樣式,它附帶一個有字體變化效果的“行為”。如果你想要在一個頁面元件上使用這個附帶“行為”的樣式,同樣也很簡單,只要把這個“樣式名”安置在元件的屬性設(shè)置區(qū)域即可,見下面的語句。

    < span id=myspan class='myfilter' >行為產(chǎn)生的文字效果< /span >< br >

    < span class='myfilter' >鼠標(biāo)指向后產(chǎn)生輝光< /span >

    以上語句里面沒有什么新的內(nèi)容,class='myfilter'就是我們所熟悉的樣式設(shè)置。在第一個“span”標(biāo)記的屬性中還定義了一個“id”標(biāo)記,稍后就會看到,這是用來演示調(diào)用“行為”內(nèi)的“方法”而設(shè)置的。這樣設(shè)置后,“span”元件中的內(nèi)容就可以顯示出“行為”組件內(nèi)的預(yù)定效果:

    1. 鼠標(biāo)指針移動到文字內(nèi)容上時,在文字周圍產(chǎn)生紅色的輝光效果,同時文字變成白色。

    2. 當(dāng)鼠標(biāo)按鈕按下時,文字顏色改變?yōu)辄S色。

    3. 鼠標(biāo)按鈕抬起后,文字顏色又改變?yōu)樗{(lán)色。

    4. 當(dāng)鼠標(biāo)指針移動到文字區(qū)域以外時,去掉了紅色輝光效果,文字恢復(fù)原樣。

    另外,我們在定義“行為”時設(shè)置了二個“方法”,“move_down”和“move_right”。為調(diào)用這二個“方法”,定義了二個按鈕:

    < button onclick=myspan.move_right(); >向右移動第一行文字< /button >< br >

    < button onclick=myspan.move_down(); >向下移動第一行文字< /button >

    用按鈕的onclick事件去調(diào)用這二個“方法”,先前定義的“id”標(biāo)記就作為元件的對象名稱,用“myspan.move_down”來調(diào)用“方法”,操縱這個對象??梢钥吹剑诎聪孪鄳?yīng)的按鈕后,會使第一行的文字產(chǎn)生向下或向右的移動。雖然只是用第一行文字做了示范,實(shí)際上,只要做相應(yīng)的設(shè)置,你也可以移動其它對象。頁面源文檔的完整內(nèi)內(nèi)容如下:

    < html >

    < head >

    < title >行為效果演示< /title >

    < style >

    .myfilter{behavior:url(font_effect.htc);position:relative;font-weight:bold;width=180;left:0;}

    < /style >

    < /head >

    < body >

    < span id=myspan class='myfilter' >行為產(chǎn)生的文字效果< /span >< br >

    < span class='myfilter' >鼠標(biāo)指向后產(chǎn)生輝光< /span >< br >

    < span class='myfilter' >同時文字變白< /span >< br >

    < span class='myfilter' >按下鼠標(biāo)后文字變黃< /span >< br >

    < span class='myfilter' >抬起鼠標(biāo)后文字變藍(lán)< /span >< br >

    < span class='myfilter' >鼠標(biāo)離開后文字恢復(fù)原狀< /span >< br >

    < button onclick=myspan.move_right(); >向右移動第一行文字< /button >< br >

    < button onclick=myspan.move_down(); >向下移動第一行文字< /button >

    < /body >

    < /html >

    通過以上的簡單介紹,可以看出,我們很容易地在一個“行為”中同時組合了多種文字變化效果,通過簡單的“樣式”設(shè)置,任意地將它與頁面元件相關(guān)連,體現(xiàn)了“行為”組件的優(yōu)點(diǎn)和強(qiáng)大功能。一個“行為”組件,不僅能在一個頁面內(nèi)重復(fù)使用,也可供同一站點(diǎn)上的所有頁面使用。試想一下,如果不使用“行為”來完成上述的效果,雖然可以在頁面內(nèi)調(diào)用一組預(yù)定的函數(shù)來完成同樣的功能,但頁面內(nèi)每一個使用文字效果的元件都要附加四個鼠標(biāo)事件,如果在多個頁面內(nèi)使用相同的效果,被調(diào)用的函數(shù)也需要在每一個頁面內(nèi)重復(fù)設(shè)置。相比之下,孰優(yōu)孰劣是很明顯的。所以,使用“行為”組件,可以制作出簡潔、高效、通用和便于維護(hù)的頁面。本文的舉例只是為了說明“行為”組件的編寫和使用過程,使讀者對“行為”編程有一個概括的了解,并以此基礎(chǔ)制作出自己所需要的“行為”組件,或直接引用滿足個人需要的現(xiàn)成“行為”組件,因?yàn)椤敖M件共享”的概念也是“行為”開發(fā)者的初衷。最后,愿本文能起到“拋磚引玉”的目的,使讀者步入精彩的dhtml網(wǎng)頁編程天地。

    說明:

    htc是html component的縮寫,

    是ie5.0的主要擴(kuò)展之一,

    除了具備一般組件的可重用優(yōu)點(diǎn)之外,

    還具有易于開發(fā)使用等優(yōu)點(diǎn),

    因?yàn)樾枰胪獠课募?這里就不舉例了,寶庫里有例子.

    控件和組件

    htc提供了一個簡單機(jī)制以在腳本中實(shí)現(xiàn)dhtml行為。一個htc文件和html文件沒有任何差別,并且以“.htc”為后綴,

    可以使用htc實(shí)現(xiàn)以下行為:

    設(shè)定屬性和方法。通過“property”和“method”元素定義

    設(shè)置自定義事件。通過“event”元素實(shí)現(xiàn),用該元素的“fire()”方法釋放事件,

    通過“createeventobject()”方法設(shè)置事件環(huán)境。

    訪問所包含該htc的的html頁的dhtml對象模型,使用htc的“element對象,返回

    一個附加行為的元素,使用該對象,htc可以訪問包含文擋及它的對象模型(屬性、方法、事件)。

    收取通知,使用”attach“元素實(shí)現(xiàn),瀏覽器不但通知htc標(biāo)準(zhǔn)的dhtml事件,而且通知htc兩種特殊事件:oncontentready事件和ondocumentready事件 。

    定義標(biāo)記和命名空間

    htc的基礎(chǔ)是自定義標(biāo)記

    要為頁面定義自定義標(biāo)記,必須為該標(biāo)記提供命名空間

    要使用該標(biāo)記必須在該標(biāo)記前加上正確的xml命名空間前綴

    例如:

    定義一個新標(biāo)記right的例子

    代碼片斷如下:<html xmlns:docjs>

    <head>

    <style>

    @media all {

    docjs\:right {text-align:right; width:100}

    }

    </style>

    </head>

    <body>

    <docjs:right>

    read doc javascript's columns, tips, tools, and tutorials

    </docjs:right>

    </body>

    </html>

    可以在單個html標(biāo)記

    中定義多個命名空間:

    <html xmlns:docjs xmlns:docjavascript>

    組件定義

    組件的名字是由htc文檔里定義在第一行的xml命名空間決定的

    該頁不用調(diào)用其他的htc話,就只有一個命名空間定義

    實(shí)際上,html組件的定義就是自定義標(biāo)簽行為的定義

    該行為包括一個屬性和一個事件:

    <html xmlns:mytag>

    <head>

    <public:component tagname=mytag>

    <property name=value></property>

    <attach event=oncontentready onevent=fninit()<>/attach>

    </public:component>

    <style>//為組件定義樣式表

    .cssmytag{

    }

    </style>

    <script language=javascript>

    function mytagbehavior1(){} //為組件定義方法

    </script>

    </head>

    <body onclick=mytagbehavior1> //為組件定義響應(yīng)事件

    </body>

    </html>

    其中的oncontentready是在組件被調(diào)用者完全導(dǎo)入時觸發(fā)

    再看看fninit()

    function fninit() {

    document.body.innerhtml = element.value;//設(shè)定組件顯示內(nèi)容

    document.body.classname = clsmytag; //設(shè)定顯示樣式表,

    defaults.viewlink = document; //使本組件對其他文檔可見

    element.aproperty = element.value; //設(shè)置組件的屬性值

    }

    組件的調(diào)用

    <html xmlns:mycom>

    <head>

    <?import namespace=mycom implementation=mytag.htc/>

    </head>

    <body>

    <mycom:mytag></mycom:mytag>

    </body>

    </html>

    更多信息請查看腳本欄目
    易賢網(wǎng)手機(jī)網(wǎng)站地址:htc教程
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機(jī)號
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報警專用圖標(biāo)