JavaScript實(shí)現(xiàn)下拉菜單的顯示和隱藏
我們這一篇來用JavaScript腳本實(shí)現(xiàn)下拉菜單的顯示和隱藏。使用JavaScript方法實(shí)現(xiàn)我們需要用的知識(shí)有:
1)JS事件:onmouseover鼠標(biāo)經(jīng)過事件和onmouseout鼠標(biāo)離開事件。
2)JS基礎(chǔ)語法:使用function關(guān)鍵字定義函數(shù)。
3)DOM編程:getElementsByTagName()方法。
那么接下來就是我們制作的流程:
1)隱藏二級(jí)菜單:設(shè)置CSS樣式,讓二級(jí)菜單隱藏。
2)編寫顯示子菜單showsub()函數(shù):使用getElementsByTagName獲取二級(jí)菜單項(xiàng);通過style.display設(shè)置二級(jí)菜單顯示。
3)編寫隱藏子菜單hidesub()函數(shù):使用getElementsByTagName獲取二級(jí)菜單項(xiàng);通過style.display設(shè)置二級(jí)菜單隱藏。
4)添加鼠標(biāo)事件:給有二級(jí)菜單的一級(jí)菜單添加鼠標(biāo)事件,并調(diào)用showsub()/hidesub()函數(shù),實(shí)現(xiàn)鼠標(biāo)經(jīng)過一級(jí)菜單,二級(jí)菜單顯示和隱藏。
5)做瀏覽器兼容性檢測(cè),至少五個(gè)瀏覽器。IE7,8,9,火狐,谷歌,2345瀏覽器等。
效果圖:
HTML代碼:
<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>下拉菜單</title> <!--引入的外部CSS樣式文件--> <link rel="stylesheet" type="text/css" href="style.css" /> <!--引入的外部JS腳本文件--> <script type="text/javascript" src="script.js"></script> </head> <body> <div id="nav" class="nav"> <ul> <li><a href="#">網(wǎng)站首頁</a></li> <li onmouseover="showsub(this)" onmouseout="hidesub(this)"><a href="#">課程大廳</a> <ul> <li><a href="#">JavaScript</a></li> <li><a href="#">jQuery</a></li> <li><a href="#">Ajax</a></li> </ul> </li> <li onmouseover="showsub(this)" onmouseout="hidesub(this)"><a href="#">學(xué)習(xí)中心</a> <ul> <li><a href="#">視頻學(xué)習(xí)</a></li> <li><a href="#">案例學(xué)習(xí)</a></li> <li><a href="#">交流平臺(tái)</a></li> </ul> </li> <li><a href="#">經(jīng)典案例</a></li> <li><a href="#">關(guān)于我們</a></li> </ul> </div> </body> </html> </span>
外部CSS樣式表style.css文件代碼:
<span style="font-size:18px;">/*CSS全局設(shè)置*/ *{ margin:0; padding:0; } .nav{ background-color:#EEEEEE; height:40px; width:450px; margin:0 auto; } ul{ list-style:none; } ul li{ float:left; line-height:40px; text-align:center; } a{ text-decoration:none; color:#000000; display:block; width:90px; height:40px; } a:hover{ background-color:#666666; color:#FFFFFF; } ul li ul li{ float:none; background-color:#EEEEEE; } ul li ul{ display:none; } /*為了兼容IE7設(shè)置的CSS樣式,但是又必須寫在a:hover前面*/ ul li ul li a:link,ul li ul li a:visited{ background-color:#EEEEEE; } ul li ul li a:hover{ background-color:#009933; } </span>
外部JS腳本script.js文件代碼:
<span style="font-size:18px;">function showsub(li){ var submenu=li.getElementsByTagName("ul")[0]; submenu.style.display="block"; } function hidesub(li){ var submenu=li.getElementsByTagName("ul")[0]; submenu.style.display="none"; }</span>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,實(shí)現(xiàn)下拉菜單效果。
- JavaScript 下拉菜單實(shí)現(xiàn)代碼
- css+js下拉菜單
- js動(dòng)態(tài)設(shè)置select下拉菜單的默認(rèn)選中項(xiàng)實(shí)例
- 三級(jí)下拉菜單的js實(shí)現(xiàn)代碼
- 一個(gè)日期下拉菜單的js實(shí)現(xiàn)代碼
- JS實(shí)多級(jí)聯(lián)動(dòng)下拉菜單類,簡(jiǎn)單實(shí)現(xiàn)省市區(qū)聯(lián)動(dòng)菜單!
- Js點(diǎn)擊彈出下拉菜單效果實(shí)例
- JS中用三種方式實(shí)現(xiàn)導(dǎo)航菜單中的二級(jí)下拉菜單
- js實(shí)現(xiàn)全國省份城市級(jí)聯(lián)下拉菜單效果代碼
- javascript實(shí)現(xiàn)簡(jiǎn)單下拉菜單效果
相關(guān)文章
javascript動(dòng)態(tài)控制服務(wù)器控件實(shí)例
在頁面中放入一個(gè)DropDownList控件,并添加一項(xiàng),用來分析其產(chǎn)生的HTML代碼,這樣在使用js進(jìn)行動(dòng)態(tài)控制時(shí),將會(huì)非常清晰2014-09-09JS控制網(wǎng)頁動(dòng)態(tài)生成任意行列數(shù)表格的方法
這篇文章主要介紹了JS控制網(wǎng)頁動(dòng)態(tài)生成任意行列數(shù)表格的方法,實(shí)例分析了javascript操作表格節(jié)點(diǎn)控制dom元素添加的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03JavaScript給事件委托批量添加事件監(jiān)聽詳細(xì)流程
事件委托,一般來講,會(huì)把一個(gè)或者一組元素的事件委托到它的父層或者更外層元素上,真正綁定事件的是外層元素,當(dāng)事件響應(yīng)到需要綁定的元素上時(shí),會(huì)通過事件冒泡機(jī)制從而觸發(fā)它的外層元素的綁定事件上,然后在外層元素上去執(zhí)行函數(shù)2021-10-10JS Generator 函數(shù)的含義與用法實(shí)例總結(jié)
這篇文章主要介紹了JS Generator 函數(shù)的含義與用法,結(jié)合實(shí)例形式總結(jié)分析了JS Generator 函數(shù)基本含義、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-0410個(gè)必備的JavaScript?async/await工具函數(shù)分享
當(dāng)談到異步編程時(shí),async/await是JavaScript中常用的功能之一,本文為大家整理了10個(gè)常用的await和async函數(shù)示例,感興趣的小伙伴可以參考一下2023-12-12