<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="jquery-1.7.1.min.js"></script>
<style>
*{ margin:0; padding:0; border:0;}
body{ font-family: arial, 宋体, serif; font-size:12px;}
#nav{ width:180px; line-height: 24px; list-style-type: none;text-align:left;}
#nav span{ width:160px; display:block; padding-left:20px; cursor:pointer;}
#nav li{ background:#ccc; border-bottom:#fff 1px solid; float:left;display:inline;} #nav a:link, #nav a:visited{ color:#666; text-decoration:none;}/*灰黑色*/
#nav a:hover{ color:#fff ;text-decoration:none; font-weight:bold;}/*白色*/ #nav li dl{ list-style:none; text-align:left; border-top:1px solid #fff;}
#nav li dl dd{ background:#ebebeb; border-bottom:#fff 1px solid;}/*灰白色,白色*/
#nav li dl a{ padding-left:20px; width:160px; display:block;}
#parent{ width:300px; padding-left:20px;}
.dis{ display:none;}
.ondis{ display:block;}
.onhover{ background:#009900; color:#fff;}/*绿色,白色*/
.linkhover{ background:#cc0000; color:#fff;}/*红色,白色*/
.active{ background:#00ccff; color:#666666;}/*蓝色,灰黑色*/ </style>
<script>
$(function(){
$("#nav li").each(
function(){
$(this).children("dl").addClass("dis");// $(this).children()是li的所有子元素,包括span,dl,这里隐藏其dl子元素
$(this).children().click(//设置当前li的所有子元素的点击事件
function(){$(this).next().toggle("normal");} //$(this)是当前li的子元素,如span,dl等
);
$(this).click(function(){
$('#nav li').each(function(){$(this).find("span").removeClass();});//去掉所有li的span元素的样式,
$(this).find('span').addClass("onhover");//设置当前li的span元素样式
});
});
})
$(function(){$("#nav dl dd").hover(function(){$(this).children().addClass("linkhover");},function(){$(this).children().removeClass("linkhover")});}) </script>
<title>jquery弹出二级菜单</title>
</head>
<body>
<div id="parent">
<ul id="nav">
<li id="li"><span>frist nav1</span>
<dl>
<dd><a href="http://down.php100.com">subnav1 menu1</a></dd>
<dd><a href="#">subnav1 menu2</a></dd>
<dd><a href="#">subnav1 menu3</a></dd>
<dd><a href="#">subnav1 menu4</a></dd>
</dl>
</li>
<li><span>frist nav2</span>
<dl>
<dd><a href="http://www.php100.com">subnav2 menu1</a></dd>
<dd><a href="#">subnav2 menu2</a></dd>
<dd><a href="#">subnav2 menu3</a></dd>
<dd><a href="#">subnav2 menu4</a></dd>
</dl>
</li>
<li><span>frist nav3</span>
<dl>
<dd><a href="#">subnav3 menu1</a></dd>
<dd><a href="#">subnav3 menu2</a></dd>
<dd><a href="#">subnav3 menu3</a></dd>
<dd><a href="#">subnav3 menu4</a></dd>
</dl>
</li>
<li><span>frist nav4</span>
<dl>
<dd><a href="http://mb.php100.com">subnav4 menu1</a></dd>
<dd><a href="#">subnav4 menu2</a></dd>
<dd><a href="#">subnav4 menu3</a></dd>
<dd><a href="#">subnav4 menu4</a></dd>
</dl>
</li>
</ul>
</div>
</body>
</html>

转自:http://www.bkjia.com/jQuery/449336.html

另一个例子:http://www.93diy.com/a/JS/menu/2013/0110/146.html(非常好的例子)

关于用css实现导航栏菜单的水平横向并列,用<li><a></li><li><a></li>来写,并且将li添加以下样式即可:

float: left;
list-style: none;

注意,要写实现水平并列,li元素内不能包含块元素,如div,和display:block的span,否则会产生换行。

转:jQuery弹出二级菜单的更多相关文章

  1. 纯css实现鼠标感应弹出二级菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 【咸鱼教程】一个简单的弹出二级菜单UIPopupMenu

    一. 实际效果 演示地址 二.实现原理主要用Button+List组件,和遮罩实现. 1. 点击Button时,将List下移展开.2. 再次点击Button,或者选中List中的某一项时,将List ...

  3. jQuery弹出深色系层菜单

    低调奢华jQuery弹出层菜单,使用新版的jQuery库,兼容多种浏览器.Demo展示: http://hovertree.com/texiao/layer/3/ 本特效可以作为网站的引导页,使用jQ ...

  4. jQuery弹出窗口完整代码

    jQuery弹出窗口完整代码 效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/1.htm 1 <!DOCTYPE html PUBLIC "- ...

  5. WPF:设置弹出子菜单的是否可用状态及效果

    需求: 设置弹出子菜单(二级)项仅首项可用,其他项均不可用:不可用是呈灰色效果. 注: 菜单项都是依据层级数据模板.具体格式如下: StackBlock{TextBlock{Image}.TextBl ...

  6. jQuery弹出提示信息简洁版(自动消失)

    之前看了有一些现成的blockUI.Boxy.tipswindow等的jQuery弹出层插件,可是我的要求并不高,只需要在保存后弹出提示信息即可,至于复杂点的弹出层-可以编辑的,我是直接用bootst ...

  7. EditorGUILayout.EnumPopup 枚举弹出选择菜单

    http://www.unity蛮牛.com/thread-25490-1-1.html http://www.unity蛮牛.com/m/Script/EditorGUILayout.EnumPop ...

  8. jquery弹出关闭遮罩层实例

    jquery弹出关闭遮罩层实例. 代码如下: <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" & ...

  9. JQuery弹出层,实现弹层切换,可显示可隐藏。

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...

随机推荐

  1. Mastering C# structs

    http://www.developerfusion.com/article/84519/mastering-structs-in-c/

  2. HighCharts学习笔记(一)HighCharts入门

    一.HighCharts简介 Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站 ...

  3. xheditor编辑器的使用

    xheditor编辑器的使用 一个博客.cms网站都一定会用到一个html编辑器,刚好xmfdsh在做网站时候需要用到这类编辑器,在对比了之后,发现其实差不了多少,刚好一个不错的friend在用xhe ...

  4. servlet中的相对路径和绝对路径 及/, ./, ../的区别

    ./ 当前目录../ 父级目录/ 根目录资源寻找都是依靠路径,资源存储方式是按照哈希表运算的,所以路径的计算其实就是哈希值的计算. servlet中,所有路径的配置都要用绝对路径. 什么是绝对路径,就 ...

  5. ASP.NET MVC使用Bootstrap系列(5)——创建ASP.NET MVC Bootstrap Helpers

    阅读目录 序言 内置的HTML Helpers 创建自定义的Helpers 使用静态方法创建Helpers 使用扩展方法创建Helpers 创建Fluent Helpers 创建自动闭合的Helper ...

  6. Java并发编程核心方法与框架-Executors的使用

    合理利用线程池能够带来三个好处 降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 提高响应速度.当任务到达时,任务可以不需要等到线程创建就能立即执行. 提高线程的可管理性.线程是稀 ...

  7. Java多线程编程核心技术---对象及变量的并发访问(一)

    synchronized同步方法 "非线程安全"其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是"脏读",也就是渠道的数据其实是被更改 ...

  8. 初识ActionScript

    <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:fx="h ...

  9. vmstat、top

    vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,使用vmstat命令可以得到关于进程.内存.内存分页.堵塞IO.traps及CPU活动的信息. vmstat 最常用的有两 ...

  10. A funny story in regard to a linux newbie

    ZZ from here :  ask what kernel ring buffer is A few days ago I started thinking that my linux educa ...