用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>
浙公网安备 33010602011771号