jQuery分组展开案例

181 阅读1分钟

点击标题,对应的div展开,其他的div合上。

jQuery特性:隐式迭代
jQuery特性:链式编程,在于一个方法返回的是一个jQuery对象,既然是jQueyc对象就可以继续点出jQuery的方法来

代码:

<!DOCTYPE html>
<html>

	<head lang="en">
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			* {
				padding: 0;
				margin: 0;
			}
			
			ul {
				list-style-type: none;
			}
			
			.parentWrap {
				width: 200px;
				text-align: center;
			}
			
			.menuGroup {
				border: 1px solid #999;
				background-color: #e0ecff;
			}
			
			.groupTitle {
				display: block;
				height: 20px;
				line-height: 20px;
				font-size: 16px;
				border-bottom: 1px solid #ccc;
				cursor: pointer;/*光标呈现为指示链接的指针(小手的效果)*/
			}
			
			.menuGroup>div {
				height: 200px;
				background-color: #fff;
				display: none;
			}
		</style>

		<script src="js/jquery.js"></script>
		<script>
			$(function() {
				//思路分析:
				//1. 给所有的span注册点击事件,让当前span的下一个兄弟div显示出来
				$(".groupTitle").click(function() {
					//下一个兄弟:next()

					//链式编程:在jQuery里面,方法可以一直调用下去。
					//$(this).next().slideDown(200).parent().siblings().children("div").slideUp(200);和下面方式效果一样
					$(this).next().show().parent().siblings("li").children("div").hide();
				});
			});
		</script>
	</head>

	<body>
		<ul class="parentWrap">
			<li class="menuGroup">
				<span class="groupTitle">标题1</span>
				<div>我是弹出来的div1</div>
			</li>
			<li class="menuGroup">
				<span class="groupTitle">标题2</span>
				<div>我是弹出来的div2</div>
			</li>
			<li class="menuGroup">
				<span class="groupTitle">标题3</span>
				<div>我是弹出来的div3</div>
			</li>
			<li class="menuGroup">
				<span class="groupTitle">标题4</span>
				<div>我是弹出来的div4</div>
			</li>
		</ul>
	</body>

</html>