您的位置:首页 > Web前端 > JavaScript

JavaScript实现向右伸出的多级网页菜单效果

2015-08-25 14:58 686 查看

这里使用JavaScript实现向右伸出的多级网页菜单效果,鼠标放在左侧的主菜单上,右侧就伸展出二级菜单,基本没有美化,新手所写,欢迎指正,需要完善的地方还挺多。

运行效果截图如下:

在线演示地址如下:

http://demo.jb51.net/js/2015/js-right-show-web-menu-codes/

具体代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>向右伸出的多级菜单</title>
<style type="text/css">
*{
padding:0;
margin:0;
}
li{
list-style:none;
}
ul{
background:rgb(200,13,34);
width:250px;
float:left;
}
b{
display:block;
width:500px;
height:40px;
background:rgb(24,122,173);
}
ul li{
height:32px;
}
ul li:hover{
height:32px;
background:orange;
}
#nav1{
position:absolute;
}
#nav3{
position:relative;
left:0;
background:green;
visibility:hidden;
}
</style>
</head>
<body>
<div id="nav1">
<ul id="nav2">
<li>文学</li>
<li>艺术</li>
<li>摄影</li>
</ul>
<ul id="nav3">
<li>1-1</li>
<li>2-1</li>
<li>3-1</li>
</ul>
</div>
<script type="text/javascript">
var focus=false;
var showdiv=document.getElementById("nav3");
showdiv.onmouseover=function(){
focus=true;
this.style.visibility="visible";
}
showdiv.onmouseout=function(){
focus=false;
this.style.visibility="hidden";
}
function bindToggle(index,flag){
var showdiv= document.getElementById("nav3");
var delayshow= function(){
if(flag ==1 ){
showdiv.style.visibility="visible";
showdiv.style.top=index*32+"px";
}else {
if(!focus){
showdiv.style.visibility="hidden";
}
}
}
return function(){
setTimeout(delayshow,150);
}
}
var menu=document.getElementById("nav2").childNodes;
var index=0;
for(var i=0;i<menu.length;i++){
if(1==menu[i].nodeType){
menu[i].onmouseover= bindToggle.call(menu[i],index,1);
menu[i].onmouseout= bindToggle.call(menu[i],index,0);
index++;
}
}
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaScript 菜单