Web前端開發實戰2:二級下拉式菜單之JS實現


       上一篇博文提到了二級下拉式菜單是用HTML和CSS實現的。我們這一篇來用JavaScript腳本實現下拉菜單的顯

示和隱藏。

使用 JavaScript方法實現我們須要用的知識有:

        1)JS事件:onmouseover鼠標經過事件和onmouseout鼠標離開事件。

        2)JS基礎語法:使用functionkeyword定義函數。

        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>

        效果展示:

       1初始化狀態或鼠標離開顯示為橫向一級菜單:


       2鼠標滑過有二級下拉菜單的元素時顯示下拉菜單:


       3顯示的下拉菜單中的鏈接樣式:




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM