|
網(wǎng)站建設(shè)是指使用標(biāo)識(shí)語言(markup language),通過一系列設(shè)計(jì)、建模、和執(zhí)行的過程將電子格式的信息通過互聯(lián)網(wǎng)傳輸,最終以圖形用戶界面(GUI)的形式被用戶所瀏覽。簡(jiǎn)單來說,網(wǎng)頁設(shè)計(jì)的目的就是產(chǎn)生網(wǎng)站。簡(jiǎn)單的信息如文字,圖片(GIF,JPEG,PNG)和表格,都可以通過使超文件標(biāo)示語言、可擴(kuò)展超文本標(biāo)記語言等標(biāo)示語言放置到網(wǎng)站頁面上。 這是一個(gè)非常簡(jiǎn)單的菜單,雖然簡(jiǎn)單,但我們可以從這個(gè)示例中學(xué)習(xí)到一些有關(guān)CSS和JavaScripts的一些有關(guān)知識(shí),對(duì)于認(rèn)識(shí)下拉式菜單的制作原理和基礎(chǔ)有很大的好處。在這個(gè)示例中,我用到了DIV標(biāo)識(shí)來作為我的下拉菜單列,而用一個(gè)TABLE來做我的菜單頭。原理就是通過識(shí)別鼠標(biāo)移動(dòng)來開關(guān)下拉菜單列的顯示屬性。 下面是這個(gè)DIV菜單的效果,你可單擊頁面任何空白地來取消下拉菜單的顯示。 雜志技術(shù)站點(diǎn) 門戶站點(diǎn) 個(gè)人收藏站點(diǎn) 天極網(wǎng) Yesky.com 電腦商情報(bào) 新潮電子
新浪網(wǎng) Sina 搜狐 Sohu 網(wǎng)易 Netease 耗子網(wǎng)絡(luò)編程站 中國同學(xué)錄 中國軟件開發(fā)網(wǎng) 好了,如果我告訴你,這樣的效果也就幾十行的代碼,你信嗎?不管怎么樣,讓我們來一步一步學(xué)習(xí)這個(gè)菜單是怎么做出來的。Step-by-Step,Let's go. 第一步,你需要定義一下菜單項(xiàng)和菜單列的 CSS層疊樣式表,這里,如果你不知道CSS是什么意思,請(qǐng)參閱《電腦報(bào)網(wǎng)站》的有關(guān)CSS的教程。我們定義兩個(gè)CSS的Class,一個(gè)是Meun,另一個(gè)是SubMenu, Menu定義了顯示在菜單頂上的樣式,而Submenu定義了下拉菜單列的顯示樣式。這里,需要注意的是Submenu中的“position:absolute;width:200”CSS屬性,這是必須的,因?yàn)檫@決定了我們顯示這個(gè)Submenu的位置。而其它的CSS的屬性是可要可不要的。下面是這兩個(gè)CSS Class的描述,你可以把下面這段話放在網(wǎng)的<head></head>之間,或是<body></body>之間。 <STYLE> <!-- .menu {background-color:green;width:120; height:20;color: white; text-align: center;font-size:9pt;font-weight:bolder} .submenu {position:absolute;top:40;background-color:lightyellow;width:180; font-size:9pt} --> </STYLE> 第二步,我們來看一下隱藏和顯示下拉菜單列的Javascript的代碼。這段代碼非常簡(jiǎn)單,只要學(xué)過一點(diǎn)JavaScripts的人應(yīng)該是很容易看懂的。如果你不懂Javascript的話,也請(qǐng)參閱《電腦報(bào)網(wǎng)站》上的有關(guān)JavaScripts的文章。這段代碼的含義是,無論什么時(shí)候,只要鼠標(biāo)一進(jìn)入菜單項(xiàng)(Menu)元件中,那么它的下拉菜單列就會(huì)被一個(gè)叫Show函數(shù)顯現(xiàn)出來。這個(gè)Show函數(shù)主要功能是顯示當(dāng)前的下拉菜單列,并隱藏其它的菜單列,并把當(dāng)前所顯示的菜單項(xiàng)放入變量cm中。另外,在這里,我還加入了一個(gè)簡(jiǎn)單的鼠標(biāo)單擊事件(onclick)句柄,當(dāng)鼠標(biāo)單擊網(wǎng)頁時(shí),就隱藏所有的下拉菜單列。下面,我給出了整個(gè)Javascript的程序,其中有一個(gè)叫 getPos 的函數(shù),這是用來獲取下拉菜單列的顯示位置的。
<SCRIPT> var cm=null; document.onclick = new Function("show(null)") function getPos(el,sProp) {var iPos = 0 while (el!=null) {iPos+=el["offset" + sProp] el = el.offsetParent} return iPos} function show(el,m) {if (m) {m.style.display=' '; m.style.pixelLeft = getPos(el,"Left") m.style.pixelTop = getPos(el,"Top") + el.offsetHeight} if ((m!=cm) && (cm)) cm.style.display='none' cm=m } </SCRIPT> 大多數(shù)人在上網(wǎng)的時(shí)候,都會(huì)瀏覽網(wǎng)頁提供給我們的信息。
|