04/6
2015
看到别的网站,有的选项卡都是用传参的方式切换的,避免了代码重写,于是我也试着做了一个。
<script type="text/javascript"> function setTab (tabTitId,tabPre,tabNum) {//参数是tab标题的id,本组tab的公共前缀,本组tab的个数。 //把字符串传参的时候,要加单引号。不是字符串也不是数字的时候,传递的是页面的元素。 for (var i = tabNum; i > 0; i--) { document.getElementById(tabPre+i+"_tit").className="tab_Tit_off";//所有标题设置className document.getElementById(tabPre+i+"_box").style.display="none";//隐藏所有box }; document.getElementById(tabTitId).className="tab_Tit_on";//对当前标题设置className document.getElementById(tabTitId.replace("tit","box")).style.display="block";//显示当前标题对应的box } setTab('tab1_1_tit','tab1_',4);//页面载入后对第一个tab执行一次 setTab('tab2_1_tit','tab2_',3);//页面载入后对第一个tab执行一次 </script>
选项卡标题和内容的id使用相同的前缀和有规律的序号,再把当前标题的id、选项卡的前缀、个数传递到函数里。class只和样式有关。
在css定义中有个小错误,
.tab_Tit,
.tab1Box {
overflow: hidden;
}
应该换成
.tab_Tit,
.tab_Box {
overflow: hidden;
}
其他的我都自己写了一遍,感觉很nice