用jquery实现动态菜单的方式,与jquery弹出窗口的方式差不多,都是借助javascript操作css样式表来呈现。
也是分为三个步骤。
1,创建一个含有菜单的html页
<html> <head> <title>jquery动态菜单-www.jb200.com</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link type="text/css" rel="stylesheet" href="css/menu.css" mce_href="css/menu.css"> <mce:script type="text/javascript" src="jslib/jquery.js" mce_src="jslib/jquery.js"></mce:script> <mce:script type="text/javascript" src="jslib/jquerymenu.js" mce_src="jslib/jquerymenu.js"></mce:script> </head> <body> <ul> <a href="#" mce_href="#">菜单1</a> <li>子菜单1</li> <li>子菜单2</li> </ul> <ul> <a href="#" mce_href="#">菜单2</a> <li>子菜单3</li> <li>子菜单4</li> </ul> <div id="content"></div> </body> </html>
2,创建控制菜单显示的css文件
/*让所有的li都不显示小圆点,可以使用css标签选择器*/ li{ /*使list前的小圆点消失*/ list-style: none; /*缩进效果*/ margin-left: 18px; /*隐藏菜单*/ display: none; } a{ /*文字的显示方式*/ text-decoration: none; }
3,创建控制菜单显示的JavaScript文件
<script> /* * 点击主菜单,子菜单显示;再次点击主菜单,子菜单隐藏 * 需要编写代码,使得主菜单在装载时添加onclick事件,使得点击主菜单可以显示子菜单 * 注册页面装载时执行的方法 * edit by www.jb200.com */ $(document).ready(function(){ //var uls = $("ul"); //找到ul下的a节点 var as = $("ul > a"); as.click(function(){ //首先找到当前ul中的li,然后让li显示出来 //获取当前被点击的ul节点 var aNode = $(this); //找到被点击ul节点下的所有li节点 var lis = aNode.nextAll("li"); //显示或隐藏ul的li子节点们 lis.toggle("slow"); }); }); </script>