JavaScript實現下拉菜單的顯示和隱藏
我們這一篇來用JavaScript腳本實現下拉菜單的顯示和隱藏。使用JavaScript方法實現我們需要用的知識有:
1)JS事件:onmouseover鼠標經過事件和onmouseout鼠標離開事件。
2)JS基礎語法:使用function關鍵字定義函數。
3)DOM編程:getElementsByTagName()方法。
那么接下來就是我們制作的流程:
1)隱藏二級菜單:設置CSS樣式,讓二級菜單隱藏。
2)編寫顯示子菜單showsub()函數:使用getElementsByTagName獲取二級菜單項;通過style.display設置二級菜單顯示。
3)編寫隱藏子菜單hidesub()函數:使用getElementsByTagName獲取二級菜單項;通過style.display設置二級菜單隱藏。
4)添加鼠標事件:給有二級菜單的一級菜單添加鼠標事件,并調用showsub()/hidesub()函數,實現鼠標經過一級菜單,二級菜單顯示和隱藏。
5)做瀏覽器兼容性檢測,至少五個瀏覽器。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="#">網站首頁</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="#">學習中心</a> <ul> <li><a href="#">視頻學習</a></li> <li><a href="#">案例學習</a></li> <li><a href="#">交流平臺</a></li> </ul> </li> <li><a href="#">經典案例</a></li> <li><a href="#">關于我們</a></li> </ul> </div> </body> </html> </span>
外部CSS樣式表style.css文件代碼:
<span style="font-size:18px;">/*CSS全局設置*/ *{ 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設置的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>
以上就是本文的全部內容,希望對大家的學習有所幫助,實現下拉菜單效果。
相關文章
JavaScript給事件委托批量添加事件監(jiān)聽詳細流程
事件委托,一般來講,會把一個或者一組元素的事件委托到它的父層或者更外層元素上,真正綁定事件的是外層元素,當事件響應到需要綁定的元素上時,會通過事件冒泡機制從而觸發(fā)它的外層元素的綁定事件上,然后在外層元素上去執(zhí)行函數2021-10-1010個必備的JavaScript?async/await工具函數分享
當談到異步編程時,async/await是JavaScript中常用的功能之一,本文為大家整理了10個常用的await和async函數示例,感興趣的小伙伴可以參考一下2023-12-12