tabstrip.js
上传用户:wenllgg125
上传日期:2020-04-09
资源大小:7277k
文件大小:3k
源码类别:

SCSI/ASPI

开发平台:

Others

  1. 
  2. //鼠标mouseover事件处理程序
  3. function tabpage_mouseover(e)
  4. {
  5.     if(e.className == "CurrentTabSelect")
  6. {
  7. return ;
  8. }
  9. if(e.className != "OnTabSelect")
  10. {
  11. e.className = "OnTabSelect";
  12. }
  13. }
  14. //鼠标mouseout事件处理程序
  15. function tabpage_mouseout(e)
  16. {
  17.     if(e.className == "CurrentTabSelect")
  18. {
  19. return ;
  20. }
  21. if(e.className != "TabSelect")
  22. {
  23. e.className = "TabSelect";
  24.     }
  25. }
  26. //服务器端选取属性页选项处理程序
  27. function tabpage_selectonserver(e,tabpageid)
  28. {
  29. e.parentNode.parentNode.childNodes[0].value = tabpageid;
  30. }
  31. function tabpage_selectonclient(e,tabpageid)
  32. {
  33. tabdiv = e.parentNode;
  34. //此处代码说明详见tabcontrols控件源码
  35. var tabpagediv = getElementsByClassName('tab-page','div',document);
  36.     var tabareas = getElementsByClassName('tabarea','div',document);
  37. //当前选中节点的所有子节点设置为选中状态
  38. for(i=0;i<tabdiv.childNodes.length;i++)
  39. {  
  40. tabdiv.childNodes[i].className = "TabSelect";
  41. tabdiv.childNodes[i].childNodes[0].className = "";
  42. }
  43.  
  44. //除当前选中节点之外的其余节点设置为隐藏  
  45. for(i=0;i<tabpagediv.length;i++)
  46. {
  47. if(tabpagediv[i].id.indexOf(e.id.split(':')[0])>=0)
  48.     {
  49. tabpagediv[i].style.display = "none";
  50. }
  51.     }
  52.     
  53.     //对当前结点的子结点(所有)设置属性
  54.     for(i=0;i<tabareas.length;i++)
  55. {
  56.         if(tabareas[i].id.indexOf(e.id.replace('_li',''))>=0)
  57.     {
  58.      tabareas[i].style.display = "block";
  59.      tabareas[i].childNodes[0].style.display = 'block';
  60.      }
  61.     }
  62.    
  63.     //对当前结点的父节点(所有)设置属性
  64.     var parentnode = document.getElementById(tabpageid);
  65.     while(true)
  66.     {
  67.         parentnode = parentnode.parentNode;
  68.         
  69.         if(parentnode == null)
  70.         {   
  71.             break;
  72.         }
  73.        
  74.         if((parentnode.className =="tab-page")||(parentnode.className =="tabarea"))
  75.         {
  76.             parentnode.style.display = 'block';
  77.         }
  78.     }
  79.     
  80.     //此处代码说明详见tabcontrols控件源码
  81.   document.getElementById(tabpageid).style.display = 'block';
  82. document.getElementById(tabpageid+"_li").className = 'CurrentTabSelect';
  83. document.getElementById(tabpageid+"_li").childNodes[0].className="current";
  84. }
  85. //获取指定样式的元素
  86. function getElementsByClassName(strClassName, strTagName, oElm)
  87. {
  88.     var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
  89.     var arrReturnElements = new Array();
  90.     strClassName = strClassName.replace(/-/g, "\-");
  91.     var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
  92.     var oElement;
  93.     for(var i=0; i<arrElements.length; i++)
  94.     {
  95.         oElement = arrElements[i];      
  96.         if(oRegExp.test(oElement.className))
  97.         {
  98.             arrReturnElements.push(oElement);
  99.         }   
  100.     }
  101.     return (arrReturnElements)
  102. }