[分享]选项卡组件代码

这是以前编写后整理出来的一个选项卡组件代码,个人使用感觉还是不错的,挺好用的,现分享一下!

选项卡组件createTab.js代码如下:

  1. /**
  2. *传入参数说明:
  3. *1、传入参数数量不限,但要符合3*n+1(n>0)的规则
  4. *2、第一个参数为进入后默认显示的选项卡索引,索引值从0开始
  5. *3、后续参数每3个为一组,分别为:
  6. *A、选项卡名称
  7. *B、选项卡对应元素没有tab前缀的id,对应元素以tab为前缀
  8. *C、选项卡宽度,缺省为75px,可指定固定值或百分比
  9. *4、使用示例initTabs(0,"名称1","ElementId1","100","名称2","ElementId2","20%");
  10. *
  11. **/
  12. //初始化选项卡
  13. functioninitTabs()
  14. {
  15. varcolorBorder="#C0C0C0";//边框颜色
  16. varcolorSelected="#000000";//选定选项卡字体颜色
  17. varcolorUnSelected="#000000";//未选定选项卡字体颜色
  18. varbg="#FFFFFF";//选项卡背景
  19. varbgUnSelected="#DEDFEF";//未选定选项卡背景
  20. varfont="宋体";//选项卡字体名称
  21. varfontSize="12px";//选项卡字体大小
  22. varborderStyle="solid1px"+colorBorder;
  23. vartabSlected="background:"+bg+";font-family:"+font+";font-size:"+fontSize+";color:"+colorSelected;
  24. vartabUnSlected="background:"+bgUnSelected+";font-family:"+font+";font-size:"+fontSize+";color:"+colorUnSelected+";border-bottom:"+borderStyle;
  25. varbgStyle="border-bottom:"+borderStyle+";background:"+bg;
  26. varlen=arguments.length;
  27. varindex=arguments[0];
  28. document.write("<tableborder=0id=tabscellspacing=0cellpadding=0width=100%style='table-layout:fixed'><trheight=21pxvalign=bottomindex="+index+">");
  29. index=index*3+1;
  30. for(vari=1;i<len;i+=3)
  31. {
  32. document.write("<tdwidth=1pxstyle='"+bgStyle+"'><inputstyle='width:1px;height:20px;border:"+borderStyle+"'></td>");
  33. document.write("<tdοnclick='onClickTab(this)'id='td"+arguments[i+1]+"'width="+(arguments[i+2]==""?"72":arguments[i+2])+"pxvalign=middlealign=centerstyle='cursor:hand;border-top:"+borderStyle+";"+(index==i?tabSlected:tabUnSlected)+"'>"+arguments[i]+"</td>");
  34. document.write("<tdwidth=1pxstyle='"+bgStyle+"'><inputstyle='width:1px;height:20px;border:"+borderStyle+"'></td>");
  35. document.write("<tdwidth=2pxstyle='"+bgStyle+"'><inputstyle='height:1px;visibility:hidden'></td>");
  36. }
  37. document.write("<tdstyle='"+bgStyle+"'></td></tr><trheight=8px></tr></table>");
  38. }
  39. //点击响应事件
  40. functiononClickTab(src)
  41. {
  42. vartr=src.parentElement;
  43. varoldIndex=tr.index,index=(src.cellIndex-1)/4;
  44. if(oldIndex==index)returnfalse;
  45. varobj=tr.cells[oldIndex*4+1];
  46. vartext=obj.style.cssText;
  47. obj.style.cssText=src.style.cssText;
  48. src.style.cssText=text;
  49. if(src.colorbak)
  50. {
  51. text=obj.style.color;
  52. obj.style.color=src.colorbak;
  53. src.colorbak=text;
  54. }
  55. if(obj.colorbak)
  56. {
  57. text=obj.style.color;
  58. obj.style.color=obj.colorbak;
  59. obj.colorbak=text;
  60. }
  61. vartabid=src.id.substring(2);
  62. if(document.all('if'+tabid)!=null)
  63. {
  64. if(document.all('if'+tabid).name!=""&&document.all('if'+tabid).name!=document.all('if'+tabid).src)
  65. {
  66. document.all('if'+tabid).removeAttribute("src");
  67. document.all('if'+tabid).setAttribute("src",document.all('if'+tabid).name);
  68. }
  69. }
  70. obj=document.all('tab'+obj.id.substring(2));
  71. if(obj)obj.style.display="none";
  72. obj=document.all('tab'+src.id.substring(2));
  73. if(obj)
  74. {
  75. obj.style.display="";
  76. obj.focus();
  77. window.setTimeout("document.all('tab"+src.id.substring(2)+"').focus()",1);
  78. }
  79. tr.index=index;
  80. }

测试页面test.html代码如下:

  1. <HTML>
  2. <HEAD>
  3. <TITLE>选项卡例子</TITLE>
  4. <scriptsrc="createTab.js"></script>
  5. </HEAD>
  6. <BODY>
  7. <script>initTabs(0,"基本信息","basic","","办理单","outline","","督查反馈","feedback","","查看意见","opinion","","查看流程","flow","")</script>
  8. <tableid=tabbasicborder=0width=100%>
  9. <tr><tdalign=center>基本信息</td></tr>
  10. </table>
  11. <divid=taboutlinewidth=100%style="display:none">
  12. <!--嵌套子选项卡-->
  13. <script>initTabs(0,"来文单位","unit","","主题词","keyword","","系统参数","system","")</script>
  14. <tableid=tabunitborder=0width=100%>
  15. <tr>
  16. <td>来文单位</td>
  17. </tr>
  18. </table>
  19. <tableid=tabkeywordborder=0width=100%style="display:none">
  20. <tr>
  21. <td>主题词</td>
  22. </tr>
  23. </table>
  24. <tableid=tabsystemborder=0width=100%style="display:none">
  25. <tr>
  26. <td>系统参数</td>
  27. </tr>
  28. </table>
  29. </div>
  30. <tableid=tabfeedbackborder=0width=100%style="display:none">
  31. <tr>
  32. <td>督查反馈</td>
  33. </tr>
  34. </table>
  35. <divid=tabopinionwidth=100%style="display:none">
  36. <script>initTabs(0,"签名","sign","60","领导批示","leader","200","其它意见","other","50%")</script>
  37. <!--嵌套子选项卡,设置选项卡宽度,宽度可为空值、百分比或数值,空值默认为72-->
  38. <tableid=tabsignborder=0width=100%>
  39. <tr>
  40. <td>签名</td>
  41. </tr>
  42. </table>
  43. <divid=tableaderwidth=100%style="display:none">
  44. <script>initTabs(0,"国家领导","country","","省级领导","province","","单位领导","local","")</script>
  45. <tableid=tabcountryborder=0width=100%>
  46. <tr>
  47. <td>国家领导</td>
  48. </tr>
  49. </table>
  50. <tableid=tabprovinceborder=0width=100%style="display:none">
  51. <tr>
  52. <td>省级领导</td>
  53. </tr>
  54. </table>
  55. <tableid=tablocalborder=0width=100%style="display:none">
  56. <tr>
  57. <td>单位领导</td>
  58. </tr>
  59. </table>
  60. </div>
  61. <tableid=tabotherborder=0width=100%style="display:none">
  62. <tr>
  63. <td>其它意见</td>
  64. </tr>
  65. </table>
  66. </div>
  67. <tableid=tabflowborder=0width=100%style="display:none">
  68. <tr>
  69. <td>查看流程</td>
  70. </tr>
  71. <tr>
  72. <td><iframeid=ifflowname="iframe.htm"src=""></iframe></td>
  73. </tr>
  74. </table>
  75. </BODY>
  76. </HTML>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值