css结合js制作下拉菜单示例代码

 更新时间:2014年02月27日 11:31:03   作者:  
这篇文章主要介绍了css结合js制作下拉菜单的具体实现,需要的朋友可以参考下
复制代码 代码如下:

<%@page pageEncoding="utf-8"
contentType="text/html;charset=utf-8" %>

<HTML>
<HEAD>
<title>WebForm5</title>

<style>/* Root = Horizontal, Secondary = Vertical */
ul#navmenu-h {
margin: 0;
border: 0 none;
padding: 0;
width: 500px; /*For KHTML*/
list-style: none;
height: 24px;
}

ul#navmenu-h li {
margin: 0;
border: 0 none;
padding: 0;
float: left; /*For Gecko*/
display: inline;
list-style: none;
position: relative;
height: 24px;
}

ul#navmenu-h ul {
margin: 0;
border: 0 none;
padding: 0;
width: 160px;
list-style: none;
display: none;
position: absolute;
top: 24px;
left: 0;
}

ul#navmenu-h ul:after /*From IE 7 lack of compliance*/{
clear: both;
display: block;
font: 1px/0px serif;
content: ".";
height: 0;
visibility: hidden;
}

ul#navmenu-h ul li {
width: 160px;
float: left; /*For IE 7 lack of compliance*/
display: block !important;
display: inline; /*For IE*/
}

/* Root Menu */
ul#navmenu-h a {
border: 1px solid #FFF;
border-right-color: #CCC;
border-bottom-color: #CCC;
padding: 0 6px;
float: none !important; /*For Opera*/
float: left; /*For IE*/
display: block;
background: #EEE;
color: #666;
font: bold 10px/22px Verdana, Arial, Helvetica, sans-serif;
text-decoration: none;
height: auto !important;
height: 1%; /*For IE*/
}

/* Root Menu Hover Persistence */
ul#navmenu-h a:hover,
ul#navmenu-h li:hover a,
ul#navmenu-h li.iehover a {
background: #CCC;
color: #FFF;
}

/* 2nd Menu */
ul#navmenu-h li:hover li a,
ul#navmenu-h li.iehover li a {
float: none;
background: #EEE;
color: #666;
}

/* 2nd Menu Hover Persistence */
ul#navmenu-h li:hover li a:hover,
ul#navmenu-h li:hover li:hover a,
ul#navmenu-h li.iehover li a:hover,
ul#navmenu-h li.iehover li.iehover a {
background: #CCC;
color: #FFF;
}

/* 3rd Menu */
ul#navmenu-h li:hover li:hover li a,
ul#navmenu-h li.iehover li.iehover li a {
background: #EEE;
color: #666;
}

/* 3rd Menu Hover Persistence */
ul#navmenu-h li:hover li:hover li a:hover,
ul#navmenu-h li:hover li:hover li:hover a,
ul#navmenu-h li.iehover li.iehover li a:hover,
ul#navmenu-h li.iehover li.iehover li.iehover a {
background: #CCC;
color: #FFF;
}

/* 4th Menu */
ul#navmenu-h li:hover li:hover li:hover li a,
ul#navmenu-h li.iehover li.iehover li.iehover li a {
background: #EEE;
color: #666;
}

/* 4th Menu Hover */
ul#navmenu-h li:hover li:hover li:hover li a:hover,
ul#navmenu-h li.iehover li.iehover li.iehover li a:hover {
background: #CCC;
color: #FFF;
}

ul#navmenu-h ul ul,
ul#navmenu-h ul ul ul {
display: none;
position: absolute;
top: 0;
left: 160px;
}

/* Do Not Move - Must Come Before display:block for Gecko */
ul#navmenu-h li:hover ul ul,
ul#navmenu-h li:hover ul ul ul,
ul#navmenu-h li.iehover ul ul,
ul#navmenu-h li.iehover ul ul ul {
display: none;
}

ul#navmenu-h li:hover ul,
ul#navmenu-h ul li:hover ul,
ul#navmenu-h ul ul li:hover ul,
ul#navmenu-h li.iehover ul,
ul#navmenu-h ul li.iehover ul,
ul#navmenu-h ul ul li.iehover ul {
display: block;
}

</style><script language="javascript">
navHover = function() {
var lis = document.getElementById("navmenu-h").getElementsByTagName("LI");
for (var i=0; i<lis.length; i++) {
lis[i].onmouseover=function() {
this.className+=" iehover";
}
lis[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" iehover\\b"),

"");
}
}
}
if (window.attachEvent) window.attachEvent("onload", navHover);
</script>
</HEAD>
<body>
<ul id="navmenu-h">
<li><a href="#">Root nav item1</a>
<ul>
<li><a href="#">Sub nav item1</a></li>
<li><a href="#">Sub nav item1-2</a></li>
</ul>
</li>
<li><a href="#">Root nav item2</a>
<ul>
<li><a href="#">Sub nav item2</a></li>
<li><a href="#">Sub nav item2-2</a></li>
</ul>
</li>
<li><a href="#">Root nav item3</a>
<ul>
<li><a href="#">Sub nav item3</a></li>
<li><a href="#">Sub nav item3-2</a></li>
</ul>
</li>
</ul>
</body>
</html>

相关文章

  • javascript 组合按键事件监听实现代码

    javascript 组合按键事件监听实现代码

    这篇文章主要介绍了javascript 组合按键事件监听实现代码的相关资料,需要的朋友可以参考下
    2017-02-02
  • js中断 forEach 循环的方法汇总

    js中断 forEach 循环的方法汇总

    这篇文章主要介绍了js中断 forEach 循环的几种方法,主要方法还是通过其它方式代替 forEach 循环的中断,只有方法4 使用 try-catch 结构是实际意义上中断 forEach 循环,需要的朋友可以参考下
    2023-10-10
  • D3.js封装文本实现自动换行和旋转平移等功能

    D3.js封装文本实现自动换行和旋转平移等功能

    之前小编和大家分享了SVG中如何配合使用text和tspan来实现换行的功能,所以这篇文章对此功能进行一下封装,以后就可以直接用了。有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • 基于Bootstrap使用jQuery实现输入框组input-group的添加与删除

    基于Bootstrap使用jQuery实现输入框组input-group的添加与删除

    这篇文章主要介绍了基于Bootstrap使用jQuery实现输入框组input-group的添加与删除的相关资料,需要的朋友可以参考下
    2016-05-05
  • echarts中几种渐变方式的具体实现方式

    echarts中几种渐变方式的具体实现方式

    在使用echarts绘制图表时,有的时候需要使用渐变色,下面这篇文章主要给大家介绍了关于echarts中几种渐变方式的具体实现方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • JS 删除字符串最后一个字符的实现代码

    JS 删除字符串最后一个字符的实现代码

    本篇文章主要是对JS删除字符串最后一个字符的实现代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • JS小游戏之象棋暗棋源码详解

    JS小游戏之象棋暗棋源码详解

    这篇文章主要介绍了JS小游戏之象棋暗棋源码详解,对游戏源码进行了较为详细的分析,并附带完整实例代码供大家学习参考,需要的朋友可以参考下
    2014-09-09
  • JavaScript数组实例的9个方法

    JavaScript数组实例的9个方法

    这篇文章主要介绍了JavaScript数组实例的9个方法,文章围绕主题展开详细的内容介绍没具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • ElementUI table无缝循环滚动的示例代码

    ElementUI table无缝循环滚动的示例代码

    这篇文章主要介绍了ElementUI table无缝循环滚动的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Bootstrap布局之栅格系统学习笔记

    Bootstrap布局之栅格系统学习笔记

    这篇文章主要为大家详细介绍了Bootstrap布局之栅格系统的学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论