闭包实现选项卡的切换

<style type="text/css">
		*{
			margin: 0;
			padding: 0;
			list-style:none;
		}
		#list{
			text-align: center;
			overflow: hidden;

		}
		#list li{
			float: left;
			width: 20px;
			line-height:20px;
			background:#ccc;
			margin: 0 10px;
		}
		#con p{
			width: 500px;
			height: 400px;
			background: pink;
			display: none;
		}
		#con .cur{
			display: block;
		}
	</style>
	<body>
		<ul id="list">
			<li>1</li>
			<li>2</li>
			<li>3</li>
			<li>4</li>
			<li>5</li>
			<li>6</li>
		</ul>
		<div id="con">
			<p class="cur">段落1</p>
			<p>段落2</p>
			<p>段落3</p>
			<p>段落4</p>
			<p>段落5</p>
			<p>段落6</p>
		</div>
	</body>
	<script type="text/javascript">
		//1.获取按钮和段落
		var btn = document.getElementById('list').getElementsByTagName('li');
		var p = document.getElementById('con').getElementsByTagName('p');
		//2.遍历按钮添加事件
		for(var i  = 0; i<btn.length;i++){
			
			//3.闭包添加事件
			(function(index){
				//4.给按钮添加单击事件
				btn[index].onclick = function(){
					//5.根据索引值找到对应的p标签,让这个标签显示,其它的隐藏
					for(var i = 0; i<p.length;i++){
						//6.循环遍历每个p标签判断这个标签的索引值是否等于index,等于就显示否则就隐藏
						/*if(i==index){
							p[i].className = 'cur';
						}else{
							p[i].className = '';
						}*/
						//优化
						p[i].className = i==index?'cur':'';
						
					}
					
				}
				
			})(i);
			
		}
	</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值