如何用用DHTML編制網頁
用DHTML編制網頁
1 前 言
隨着Internet/Intranet的不斷普及和發展,越來越多的公司、企業和個人正在開始建設自己的Web站點、編寫Web網頁,以一種新的方式向外界發佈信息,供人們去瀏覽、閲讀和應用。因此,網頁製作已經受到越來越多的專業人員的重視。
網頁是指通過Internet向全球提供信息的一些文檔文件,包括個人信息、商業、娛樂等內容。網頁是利用超文本標誌語言HTML(HyperTextMarkupLanguge)編寫的,存放在Internet/Intranet上的Web服務器中,供訪問者使用瀏覽器(Browser)來閲讀。利用HTML語言編寫出來的網頁又稱為超文本,即網頁中包含有文本、圖形、聲音、圖像和超鏈接(HyperLink)等多媒體信息。
2 DHTML簡
我我在瀏覽器中能接觸到大量使用HTML和腳本語言編寫的網頁。為了方便瀏覽,各計算機廠商紛紛推出了自己的瀏覽器,這些瀏覽器對HTML的支持還沒有一個統一的規範,顯然這不利於互連網的發展。因此,萬維網協會W3C(WorldWideWebConsortium)制定了一個與平台和語言無關的規範,即文檔對象模型DOM(DocumentObjectModel)。
DOM將HTML、CSS(層疊樣式表)和腳本語言聯合起來組成一個或多個人都能實現的互操作模型。Netscape、Microsoft都向W3C提出了實現DOM的建議:使用動態HTML,即DHTML(DynamicHTML)來解決問題。
DHTML是在保持與現有HTML兼容的基礎上擴展出來的幾種新功能的總稱。這些新功能主要是指動態功能、定位功能以及利用CSS的功能。
使用DHTML的原因有兩個:一是DHTML將網頁上的每一個元素劃分成許多獨立的對象,這些對象的屬性通過CSS來指定。二是DHTML將每個對象向一個編程和腳本語言的框架開放,可使用編程語言C++操縱網頁上的對象,也可使用Javascript、VBscript操縱網頁上的對象。這就表示Web頁和其上的一切東西都是可編程的,這給Web頁帶來了新的功能。當我們在執行應用程序時就會發現不同之處:以前在Web上運行程序時,每次在單個元素後必須等待該網頁重新下載,如果一個Web頁包含了大量隱藏的對象,甚至一屏屏全新的頁面,那將會經歷一個再次訪問服務器的過程;而使用DHTML,可以單擊屏幕上方的某個圖象,就可以使屏幕下方的段落立刻發生變化,而不必再訪問服務器。所有的表格將變成活的數據庫,用户可以動態和排序的篩選其中的數據。這樣一來,就減少了對服務器的請求,因此降低了服務器的負荷,提高了客户機和服務器的總體性能。
3 使用樣式表CSS
DHTML的基礎是層疊樣式表CSS(CascadingStyleSheets),樣式是指由Web頁作者定義的一組顯示和定位屬性。CSS最大的特點是面向對象的網頁設計,也就是説,把每一頁、每一段落、每個圖象和表格都看成是一個對象。然後聲明該對象的每個實例。每個實例都有一種樣式(Style),即一組屬性或顯示指令。只要聲明一次,這些屬性就會貫穿在整個網頁甚至整個站點中。可以對每一種樣式賦予一個名字,如H1、Li如果該樣式的名稱與一個有效的DHTML元素(或標記)的名稱相同,則該樣式就自動的作用於該元素的每一個實例;如果給一種樣式所起的名稱沒有相應的DHTML標記,就必須人工地將該樣式施加到希望它出現的地方。
3.1 定義和使用基本樣式
下面的程序段中有兩個樣式:H1和favor,H1是一個有效的'DHTML元素,在程序中由〈H1〉〈/H1〉標記的部分將繼承樣式H1的全部屬性;favor則是一個非DHTML元素,定義它的時候須在前面加上一個圓點,引用時要用〈class〉來聲明,在程序中由〈favor〉〈/favor〉標記的部分將繼承樣式favor的全部屬性。
〈HTML〉
〈HEAD〉〈TITLE〉test〈/TITLE〉
〈STYLETYPE=”text/css〉
H1{font-style:normal;
font-weight:bold;
color:green;
line-height:20pt} /定義樣式H1/
.favor{font-style:normal;
fontsize:15pt;
background-image:url(back.imag.gif);
textalign:center} /定義樣式favor/
〈/STYLE〉
〈/HEAD〉
〈H1〉THISISATEST!〈/H1〉 /使用樣式H1/
〈PCLASS=”favor”〉DOYOULIKETHIS?〈/P〉 /使用樣式favor/
3.2 使用外部樣式
樣式表還可以存放在外部文件中,這個文件與頁面的聯繫可以通過IMPORT或LINK,例如,樣式表存放在文件中,在文檔中可以插入下列代碼調用外部樣式表:
〈LINKREL=STYLESHEET
HREF=””
TYPE=”text/css”
Title=”TestStyle”〉
4 實現交互功能
CSS本身沒有交互功能,要實現交互,就須將CSS定義的對象與文檔模型(DOM)結合在一起,將Web文檔轉換為DHTML文檔。DOM提供了腳本語言訪問頁上元素的途徑,Microsoft和Netscape支持的對象模型有一些不同。
在Microsoft的模型中,腳本語言可以訪問HTML頁面上的所有元素,所有元素都被反映為中的對象。下面的程序段用於寫出頁面中所有的元素:
for(I=0;I〈th;I++)
e([I]ame+”\n”);
在Netscape的模型中,腳本語言可以訪問HTML頁面上特定集合的元素,如〈layer〉標籤中的內容。下面的程序段用於寫出頁面中所有layer的名稱:
for(I=0;I〈th;I++)
e(rs[I]+”\n”);
5 定位技術的使用
在HTML中,任何對象的位置與網頁結構的其他部分總是相對的,我們編制網頁時經常會由於添加一段文字而把一個圖象擠出頁面。現在,使用DHTML的定位技術可以把對象固定下來,還可以堆疊起來,即在頁面的同一位置擺放多個圖象,然後不斷的指定擺放在最上面的對象來實現動畫效果。
例子:
*myback{background-color:transparent}
*mypoit
position:absolute;
top:5in;
right:5in;
width:10in}
BODY{background-image:url(/image/back.gif);}
〈class=.mypoint〉Img(src=http://www.knowsky.com/”/image/a.gif)
〈DIVCLASS=”pile”ID=”image1”style=”z-index:4”〉
〈DIVCLASS=”pile”ID=”image2”style=”z-index:3”〉
〈DIVCLASS=”pine”ID=”image3”style=”z-index:2”〉
〈DIVCLASS=”pine”ID=”image4”style=”z-index:1”〉
〈/BODY〉
在上面的程序段中,背景設成了讓光線透過底圖,這樣的效果在以前是要通過專門的做圖工具才能完成的。在頁面上還堆疊放置了4幅圖,它們所產生的動畫效果也是很不錯的。
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
HTML5教程:畫布Canvas基礎知識講解
Canvas是HTML5最讓人期待的特性之一,目前已獲得大部分Web瀏覽器支持Canvas可以幫助創建遊戲、增強圖形用户界面。下面YJBYS小編為大家帶來畫布Canvas基礎知識,希望對大家學習有所幫助!HTML5規範引進了很多新特性,其中最令人期待的之一就是Canvas元素。HTML5Canvas...
-
如何獲取PHP數組的鍵與值呢
array_keys($array);//獲取數組(字典)的所有鍵值,返回一個鍵值數組。array_values($array)://獲取數組的所有value值,飯回一個數組。<?php$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';//註明:value不帶雙引號時,其值只能是數字。【!!!注意:大括號兩邊只能是單引號,...
-
PHP開發工程師的主要職責
PHP開發工程師的主要職責1職責:1、負責公司後端的研發,保障系統的穩定性和質量2、與業務需求部門及項目經理溝通,理解需求,進行架構設計;3、搭建開發框架、負責核心代碼的編寫,解決技術難點;4、界定、分析和解決系統中存在的問題和缺陷;5、對系統進行持續改進,提升系...