標籤:script 匯入 樣式 jquery源碼 div tle his line flow
HTML結構:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>選項卡封裝</title>
</head>
<body>
<div class="div1" id="div1">
<ul class="list">
<li class="active">首頁</li>
<li>第二頁</li>
<li>第三頁</li>
<li>第四頁</li>
</ul>
</div>
<div class="div2" id="div2">
<div class="div3" style="display:block">111111</div>
<div class="div4">222222</div>
<div class="div5">333333</div>
<div class="div6">444444</div>
</div>
</body>
</html>
CSS樣式:
*{margin:0; padding:0}
#div1{width:500px; overflow:hidden; background:#f2f2f2;}
#div1 .list{width:100%; overflow:hidden;}
#div1 .list li{width:100px; height:40px; display:block; float:left; line-height:40px; text-align:center; cursor:pointer;}
li.active{background:#F00; color:#FFF;}
#div2{width:500px; height:300px; background:#09F;}
#div2 div{width:100%; height:100%; display:none;}
#box1{width:500px; overflow:hidden; background:#f2f2f2;}
#box1 ul{width:100%; overflow:hidden;}
#box1 ul li{width:100px; height:40px; display:block; float:left; line-height:40px; text-align:center; cursor:pointer;}
#box2{width:500px; height:300px; background:#09F;}
#box2 div{width:100%; height:100%; display:none;}
原生js代碼:
<script type="text/javascript">
function Tab(id,tag,evt,id2,tag2){
var oId = document.getElementById(id);
var aTag = oId.getElementsByTagName(tag);
var oId2 = document.getElementById(id2);
var aTag2 = oId2.getElementsByTagName(tag2);
for(var i=0;i<aTag.length;i++){
aTag[i].index = i;
aTag[i][evt] = function(){
for(var i=0;i<aTag.length;i++){
aTag[i].className="";
aTag2[i].style.display = "none";
}
this.className="active";
aTag2[this.index].style.display = "block";
}
}
}
Tab(‘div1‘,‘li‘,‘onmouseover‘,‘div2‘,‘div‘); //調用方法
</script>
jQuery代碼:
<script type="text/javascript">
function fnTab(id,element,evt,id2,element2){
$(‘#‘+id).find(element)[evt](function(){
$(this).addClass(‘active‘).siblings().removeClass(‘active‘);
$(‘#‘+id2).find(element2).eq($(this).index()).show().siblings().hide();
});
}
fnTab(‘div1‘,‘li‘,‘click‘,‘div2‘,‘div‘); //調用方法
</script>
無論是javascript原生代碼還是jQuery代碼,都是以封裝函數的形式編寫,這樣有利於代碼的拓展性和重用,使用起來也比較方便,只需要調用這個函數即可(當然使用jQuery源碼時需要先匯入jQuery庫)。
javascript與jQuery選項卡效果