日期:2014-05-16  浏览次数:20668 次

AJAX学习总结(六)---可收缩展开的级联菜单和局部刷新

步骤1.新建项目JqueryTrain

?

步骤2.在WebRoot下新建jslib文件夹,并将jquery类库导入进来

?

步骤3.新建html文件---JqueryMenu.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Jquery应用实例:弹出菜单</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <link rel="stylesheet" type="text/css" href="css/menu.css">
    <script type="text/javascript" src="jslib/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="jslib/jquerymenu.js"></script>

  </head>
  
  <body>
	<ul>
		<a href="#">菜单1</a>
		<li><a href="#" id="JqueryWindow.html">子菜单1</a></li>
		<li><a href="#">子菜单2</a></li>
	</ul>
	<ul>
		<a href="#">菜单2</a>
		<li><a href="#">子菜单3</a></li>
		<li><a href="#">子菜单4</a></li>
	</ul>
	<div id="content"></div>
  </body>
</html>

?

?

步骤4.在jslib下新建js文件---jquerymenu.js

?

//需要点击主菜单的按钮时,对应的子菜单可以显示,再次点击子菜单则隐藏

//需要编写代码,在页面装载时,给所有的主菜单添加onclick的事件
//保证主菜单点击时可以显示或隐藏子菜单

//注册页面装载时执行的方法
$(document).ready(function(){
	//这里需要首先找到所有的主菜单
	//然后给所有的主菜单注册点击事件
	//找到ul中的节点
	var as = $("ul > a");
	as.click(function(){
		//这里需要找到当前ul中的li,然后让li显示出来
		//获取当前被点击的a节点
		var aNode = $(this);
		//找到当前a节点的所有li兄弟节点
		var lis = aNode.nextAll("li");
		//让子节点显示或隐藏
		lis.toggle("show");
	});
	$("li > a").click(function(){
		$("#content").load($(this).attr("id"));
	});
})

?

?

?

步骤5.在WebRoot下新建css文件夹,并新建css文件---menu.css

?

/*css的标签选择器*/
li{
	list-style: none; /*使li前面的小圆点消失*/
	margin-left: 18px; /*让子菜单向右移动一段距离,达到缩进的效果*/
	display: none;   /*让所有的子菜单都先隐藏*/
}

a{
	text-decoration: none;/*去掉下划线*/
}

?

?

?

然后测试运行http://localhost:8080/JqueryTrain/JqueryMenu.html看到效果即可!!!