国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

鎖定行頭和列頭的表格組件

2020-01-25 18:09:10
字體:
來源:轉載
供稿:網友
1、在頁面中引入風格單定義 
<style> 
.LockHeadTable {behavior:url(/oblog312/LockHeadTable.htc)} 
</style> 


2、在需要鎖定行列頭的表格定義中添加語句“class="LockHeadTable"”就OK了,其他參數有 
ROWHEADNUM="鎖定行數" 
COLHEADNUM="鎖定列數" 
ROWHEADSTYLE="行表頭風格" 
COLHEADSTYLE="列表頭風格" 
ROWSTYLE="行風格1|行風格2|……|行風格n" 
FOCUSSTYLE="獲得鼠標焦點時的風格" 

3、點擊行標題時可以對數據進行排序 

注意: 
  使用本組件時,行表頭中的單元格不允許跨行 

例: 
<table class="LockHeadTable" ROWHEADNUM=3 COLHEADNUM=1 ROWHEADSTYLE="background:#F7F7F7; color:black;" COLHEADSTYLE="background:#F7F7F7; color:black;" ROWSTYLE="background:#FFFFFF; color:black;|background:#F7F7F7; color:black;"  FOCUSSTYLE="background:green; color:white;" width="1500" border="1" cellpadding="3" cellspacing="0" align="center"> 

源代碼: 

LockHeadTable.htc(組件程序) 





<PUBLIC:COMPONENT> 

 <PUBLIC:PROPERTY NAME="ROWHEADNUM" /> 
 <PUBLIC:PROPERTY NAME="COLHEADNUM" /> 
 <PUBLIC:PROPERTY NAME="ROWHEADSTYLE" /> 
 <PUBLIC:PROPERTY NAME="COLHEADSTYLE" /> 
 <PUBLIC:PROPERTY NAME="ROWSTYLE" /> 
 <PUBLIC:PROPERTY NAME="FOCUSSTYLE" /> 

 <script> 
 //初始化 
 ROWHEADNUM = (ROWHEADNUM==null?0:parseInt(ROWHEADNUM, 10)); 
 COLHEADNUM = (COLHEADNUM==null?0:parseInt(COLHEADNUM, 10)); 
 ROWHEADSTYLE = (ROWHEADSTYLE==null?"":ROWHEADSTYLE); 
 COLHEADSTYLE = (COLHEADSTYLE==null?"":COLHEADSTYLE); 

 arrRowStyle = (ROWSTYLE==null?new Array(""):ROWSTYLE.split("|"));  

 //設置行表頭 
 var i, j, rowItem, cellItem; 
 rowHead = element.cloneNode(true); 
 for (i=0; i<ROWHEADNUM; i++) { 
  rowItem = element.rows(i); 
  rowItem.style.cssText = 'z-index:10; position:relative; top:expression(this.offsetParent.scrollTop);' + ROWHEADSTYLE; 
 } 

 //設置列表頭 
 for (i=0; i<element.rows.length; i++) { 
  rowItem = element.rows(i); 
  if (i>=ROWHEADNUM) { 
   rowItem.style.cssText = "position:relative;" + arrRowStyle[(i - ROWHEADNUM) % arrRowStyle.length]; 
   if (FOCUSSTYLE!=null) { 
    rowItem.onmouseover = function () { this.style.cssText = "position:relative;" + FOCUSSTYLE;} 
    rowItem.onmouseout = function () { this.style.cssText = "position:relative;" + arrRowStyle[(this.rowIndex - ROWHEADNUM) % arrRowStyle.length];} 
   } 
  } 

  for (j=0; j<COLHEADNUM; j+=cellItem.colSpan) { 
   cellItem = rowItem.cells(j); 
   cellItem.style.cssText = 'position:relative; left:expression(this.parentElement.offsetParent.scrollLeft);' 
    + (i<ROWHEADNUM?'':COLHEADSTYLE); 
  } 
 } 

 //設置行標題排序 
 for (i=0; i<ROWHEADNUM; i++) { 
  rowItem = element.rows(i); 
  for (j=0; j<rowItem.cells.length; j++) { 
   cellItem = rowItem.cells(j); 
   if (cellItem.rowSpan==ROWHEADNUM-i) { 
    cellItem.style.cursor = "hand"; 
    cellItem.sortAsc = true; 
    cellItem.onclick = sortTable; 
   } 
  } 
 } 

 //排序 
 function sortTable() { 
  var objCol = event.srcElement; 
  if (objCol.tagName == "TD") { 
   var intCol = objCol.cellIndex; 
   objCol.sortAsc = !objCol.sortAsc; 

   sort_type = 'Num'; 
   if (isNaN(parseInt(element.rows(ROWHEADNUM).cells(intCol).innerText, 10))) 
    sort_type = 'Asc'; 

   var i,j,boltmp; 
   for (i = ROWHEADNUM; i < element.rows.length; i++) 
    for (j = i + 1; j < element.rows.length; j++) { 
     switch (sort_type) { 
     case 'Num': 
      boltmp = (parseInt(element.rows(i).cells(intCol).innerText, 10) >= parseInt(element.rows(j).cells(intCol).innerText, 10)); 
      break; 
     case 'Asc': 
     default: 
      boltmp = (element.rows(i).cells(intCol).innerText >= element.rows(j).cells(intCol).innerText); 
     } 
     if ((objCol.sortAsc && !boltmp) || (!objCol.sortAsc && boltmp)) { 
      element.moveRow(j, i); 
     } 
    } 
  } 
 } 
 </script> 
</PUBLIC:COMPONENT> 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 固原市| 湄潭县| 岑巩县| 抚松县| 香格里拉县| 吴忠市| 桂林市| 新沂市| 延津县| 长葛市| 天柱县| 郸城县| 合江县| 茌平县| 林州市| 沛县| 郴州市| 鄂州市| 宁南县| 广元市| 陇川县| 大荔县| 义乌市| 永和县| 准格尔旗| 台北县| 横山县| 梧州市| 许昌县| 虹口区| 永定县| 桦南县| 包头市| 湟源县| 江口县| 吐鲁番市| 咸丰县| 孟州市| 丽水市| 轮台县| 盱眙县|