DOM(二)-05-(示例-展开闭合列表3)

<!--
新需求:在多个列表下,一次只能展开一个,当展开另一个时候,前一个被自动关闭
(如先展开列表一,立马点开列表二,此时列表一被自动关闭)
-->

<!--
思路:
1.获取所有dl节点
2.遍历这些节点,只对当前的dl进行展开或闭合操作,其他节点都进行闭合操作。
-->


<html>
	<head>
		<style type="text/css">
		dl dd{
			margin:0px;
		}
		dl{
			height:16px;
		}
		.open{
			overflow:visible;
		}
		.close{
			overflow:hidden;
		}
		dl dt{
			color:#FF8000;
		}
		</style>
	</head>
	<body>
		<script type="text/javascript">
		
			function list(node){
				
				//1.获取当前被点击的dl节点
				var oDlNode = node.parentNode;
				
				//2.获取所有dl节点
				var collDlNodes = document.getElementsByTagName("dl");//collDlNodes中的coll表示返回的是集合
				
				//3.遍历所有dl节点
				for(var x=0;x<collDlNodes.length;x++){
					
					if(collDlNodes[x] == oDlNode){
						
						if(oDlNode.className == "close")
							oDlNode.className ="open";
						else
							oDlNode.className ="close";
						
					}else{
						
						collDlNodes[x].className = "close";
						
					}
					
				}
				
			}
		
		</script>
		
		<dl class="close">
		<dt οnclick="list(this)">显示条目一</dt>
		<dd>展开列表内容1</dd>
		<dd>展开列表内容1</dd>
		<dd>展开列表内容1</dd>
		<dd>展开列表内容1</dd>
		</dl>
		<dl class="close">
		<dt οnclick="list(this)">显示条目二</dt>
		<dd>展开列表内容2</dd>
		<dd>展开列表内容2</dd>
		<dd>展开列表内容2</dd>
		<dd>展开列表内容2</dd>
		</dl>
		<dl class="close">
		<dt οnclick="list(this)">显示条目三</dt>
		<dd>展开列表内容3</dd>
		<dd>展开列表内容3</dd>
		<dd>展开列表内容3</dd>
		<dd>展开列表内容3</dd>
		</dl>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值