用js寫的極簡的導航菜單,帶下拉列表


太簡單了,不多說,但是自己還是寫了一會,因為總會出現這樣那樣小的錯誤,畢境最近在復習和學習一些前台,歡迎看到的各位能給點改進意見或者其它的,Thank you!

首先是發圖,只用CSS寫了結構,幾乎沒加任何修飾,因為現在不是做那個的時候;

說明:如圖一橫向的菜單,當鼠標懸浮在上邊時,下拉菜單出現,當鼠標不在上邊時下拉菜單隱藏,僅此而已

環境:FireFox 23.0.1

 

 

原代碼,都在一個頁面中吧,只是為了學習而已

<!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" xml:lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
	<title></title>
	<style type="text/css">
		#menu ul{
			padding:0;margin:0;
		}
		#menu li{
			position:relative;
			width:100px; 
			display:inline-block;
		}
		#menu li ul{
			position:absolute;
			top:100%;
			left:0;
			height:auto; 
			background-color:white;
		}
	</style>

</head>
<body>
	<a href="javascript:void(0)" onClick="menu()">Bind The Click</a>
	<ul id="menu">
		<li>
			Home
			<ul>
				<li>Home</li>
				<li>Product</li>
				<li>Address</li>
				<li>Contract</li>
				<li>Help</li>
			</ul>
		</li>
		<li>Product</li>
		<li>Address</li>
		<li>Contract</li>
		<li>
			Help
			<ul>
				<li class="home">Home</li>
				<li>Product</li>
				<li>Address</li>
				<li>Contract</li>
				<li>Help</li>
			</ul>
		</li>
	</ul>
	<script type="text/javascript">
	function menu(){
		var elem=document.getElementById("menu");
			
		var ul=elem.getElementsByTagName("ul")
		for(var i=0;i<ul.length;i++){
			ul[i].style.display="none";
		}
		
		//bind the action
		var li=elem.getElementsByTagName("li");
		for(var i=0;i<li.length;i++){
			li[i].onmouseover=function(){
				var inli=this.getElementsByTagName("ul");
				for(var j=0;j<inli.length;j++){
						inli[j].style.display="block";
				}
			};
			li[i].onmouseout=function(){
				var inli=this.getElementsByTagName("ul");
				for(var j=0;j<inli.length;j++){
						inli[j].style.display="none";
				}
			}
		}
		

	}
	window.onload=menu();
	</script>
</body>
</html>

 


免責聲明!

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



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