JavaScript实现选项卡(三种方法)

本文实例讲述了js选项卡的实现方法。

一、html代码:

<div id="div1">
	<input class="active" type="button" value="1">
    <input type="button" value="2">
    <input type="button" value="3">
    <div style="display:block">选项1</div>
    <div>选项2</div>
    <div>选项3</div>
</div>

二、css样式:

#div1 div{
    width:200px; 
    height:200px; 
    border:1px #000 solid; 
    display:none;
}
.active{
    background:red;
}

三、js代码:

方法一:

for(var i=0;i<aInput.length;i++){
		aInput[i].index = i;
		aInput[i].onclick = function(){
			for(var i=0;i<aInput.length;i++){
				aInput[i].className = '';
				aDiv[i].style.display = 'none';
			}
			this.className = 'active';
			aDiv[this.index].style.display = 'block';
		};
}

方法二(采用立即执行函数):

for(var i=0;i<aInput.length;i++){
	 (function(i){
		aInput[i].onclick = function(){
			for( var j=0;j<aDiv.length;j++){
				aInput[j].className = " ";
				aDiv[j].style.display = "none";
			}
				aInput[i].className = "active ";
				aDiv[i].style.display = "block";
		};
	 })(i); 
};

方法三(for循环+if判断当前点击与自定义数组是否匹配):

for(var i=0;i<aInput.length;i++){
	aInput[i].onclick = function(){
		for( var j=0;j<aDiv.length;j++){
			aInput[j].className = " ";
			aDiv[j].style.display = "none";
			this.className = "active ";
			// 判断当前点击是按钮数组中的哪一个 
			if(this == aInput[j]) { 
				aDiv[j].style.display = "block";
			} 
		};
	};	
};
posted @ 2017-09-02 06:53  Mr.曹  阅读(3272)  评论(1编辑  收藏  举报