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

 更新时间:2015年08月25日 14:58:46   作者:企鹅  
这篇文章主要介绍了JavaScript实现向右伸出的多级网页菜单效果,通过javascript调用页面元素属性的动态改变实现向右展开菜单效果,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了JavaScript实现向右伸出的多级网页菜单效果。分享给大家供大家参考。具体如下:

这里使用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程序设计有所帮助。

相关文章

  • js仿网易表单及时验证功能

    js仿网易表单及时验证功能

    这篇文章主要为大家详细介绍了一个网易表单以及及时验证功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 原生JavaScript实现Ajax的方法

    原生JavaScript实现Ajax的方法

    这篇文章主要介绍了原生JavaScript实现Ajax的几种方法,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法

    js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法

    这篇文章主要介绍了js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法,较为详细的分析了错误的原因及对应的解决方法,需要的朋友可以参考下
    2015-04-04
  • js验证账户名是否重复

    js验证账户名是否重复

    这篇文章主要为大家详细介绍了js验证账户名是否重复,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • 使用JavaScript实现贪吃蛇游戏

    使用JavaScript实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了使用JavaScript实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 微信小程序实践之动态控制组件的显示/隐藏功能

    微信小程序实践之动态控制组件的显示/隐藏功能

    这篇文章主要介绍了微信小程序实践之动态控制组件的显示/隐藏功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • 微信小程序webview中wx.miniProgram.navigateTo()的使用方法及其问题解决方法

    微信小程序webview中wx.miniProgram.navigateTo()的使用方法及其问题解决方法

    这篇文章主要介绍了微信小程序webview中wx.miniProgram.navigateTo()的使用方法及其问题解决方法,文章描述了微信小程序中web-view嵌入H5页面时遇到的问题,特别是当H5页面中包含iframe时,如何在iframe中实现跳转到小程序的index页面,需要的朋友可以参考下
    2024-11-11
  • three.js利用卷积法如何实现物体描边效果

    three.js利用卷积法如何实现物体描边效果

    这篇文章主要给大家介绍了关于three.js利用卷积法如何实现物体描边效果的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用three.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • 原生JS实现图片轮播效果

    原生JS实现图片轮播效果

    这篇文章主要为大家详细介绍了原生JS实现图片轮播效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 详解JavaScript设计模式中的享元模式

    详解JavaScript设计模式中的享元模式

    享元模式是一种用于性能优化的模式。享元模式的核心是运用共享技术来有效支持大量细粒度的对象.如果系统中创建了大量类似的对象而导致内存占用过高,本文通过介绍书中文件上传的优化案例来说明享元模式的使用方式和作用,需要的朋友可以参考下
    2023-06-06

最新评论