JavaScript實(shí)現(xiàn)下拉菜單的顯示和隱藏
我們這一篇來(lái)用JavaScript腳本實(shí)現(xiàn)下拉菜單的顯示和隱藏。使用JavaScript方法實(shí)現(xiàn)我們需要用的知識(shí)有:
1)JS事件:onmouseover鼠標(biāo)經(jīng)過(guò)事件和onmouseout鼠標(biāo)離開(kāi)事件。
2)JS基礎(chǔ)語(yǔ)法:使用function關(guān)鍵字定義函數(shù)。
3)DOM編程:getElementsByTagName()方法。
那么接下來(lái)就是我們制作的流程:
1)隱藏二級(jí)菜單:設(shè)置CSS樣式,讓二級(jí)菜單隱藏。
2)編寫(xiě)顯示子菜單showsub()函數(shù):使用getElementsByTagName獲取二級(jí)菜單項(xiàng);通過(guò)style.display設(shè)置二級(jí)菜單顯示。
3)編寫(xiě)隱藏子菜單hidesub()函數(shù):使用getElementsByTagName獲取二級(jí)菜單項(xiàng);通過(guò)style.display設(shè)置二級(jí)菜單隱藏。
4)添加鼠標(biāo)事件:給有二級(jí)菜單的一級(jí)菜單添加鼠標(biāo)事件,并調(diào)用showsub()/hidesub()函數(shù),實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)一級(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)站首頁(yè)</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樣式,但是又必須寫(xiě)在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)下拉菜單類(lèi),簡(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)全國(guó)省份城市級(jí)聯(lián)下拉菜單效果代碼
- javascript實(shí)現(xiàn)簡(jiǎn)單下拉菜單效果
相關(guān)文章
Javascript 5種方法實(shí)現(xiàn)過(guò)濾刪除前后所有空格
這篇文章主要介紹Javascript 5種過(guò)濾刪除前后所有空格的方法,比較實(shí)用,需要的朋友可以參考下。2016-06-06
ES6新特性之函數(shù)的擴(kuò)展實(shí)例詳解
這篇文章主要介紹了ES6新特性之函數(shù)的擴(kuò)展,實(shí)例形式較為詳細(xì)的分析了ES6針對(duì)函數(shù)參數(shù)、運(yùn)算符及相關(guān)新特性的擴(kuò)展操作與注意事項(xiàng),需要的朋友可以參考下2017-04-04
微信小程序開(kāi)發(fā)之toast等彈框提示使用教程
彈框提示是我們?cè)陂_(kāi)發(fā)中經(jīng)常用的一個(gè)效果,下面這篇文章主要給大家介紹了微信小程序開(kāi)發(fā)之toast等彈框提示實(shí)現(xiàn)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06
原生JS實(shí)現(xiàn)非常好看的計(jì)數(shù)器
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)非常好看的計(jì)數(shù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
javascript排序函數(shù)實(shí)現(xiàn)數(shù)字排序
這篇文章主要介紹了javascript排序函數(shù)實(shí)現(xiàn)數(shù)字排序的相關(guān)資料,附上示例,需要的朋友可以參考下2015-06-06

