源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javascript 对表格的行和列都能加亮显示

  • 时间:2021-06-23 10:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript 对表格的行和列都能加亮显示
1,交叉加亮 2,点击左上角的 "1;1","2;2"观察所有单元值的变化 3,点击左上角的 "3,3","4,4"观察所有单元字体的变化 4,点击单元后,该单元颜色发生变化,并直至点击下一单元 5,将th与td分开; Gu Laicheng, 2008.12.25 <HTML> <HEAD> <TITLE>交叉高亮显示</TITLE> <style> body,th,td { font-size: 10pt; } .Tlist1 { border-collapse:collapse;table-layout:fixed;width:710px; } .outit { background: #EEDDFF; } .ovrit { background: #AADDFF; } .cross { background: #33DDFF; } .clkit { background: #DDAAAA; } .clkcr { background: #AA7777; } .titl { background: #77AAFF; } </style> </HEAD> <BODY> <table id="table3" border="1" cellpadding=4 cellspacing=0 bordercolor='#3377FF' align=center class=Tlist1 id=Tlist1> <script> var Nrow = 15,Ncol = 12; document.writeln("<tr class='titl'>"); for (var c=0;c<Ncol;c++ ) { document.writeln("<th>F"+(c+1)+"</th>"); } document.writeln("</tr>"); for (var r=0;r<Nrow;r++ ) { document.writeln("<tr>"); for (var c=0;c<Ncol;c++ ) { document.writeln("<td class='outit'>"+(r+1)+";"+(c+1)+"</td>"); } document.writeln("</tr>"); } </script> </table> </BODY> <script> var currentRow,currentCol; table3.rows[1].cells[0].onclick = function(){init(0);} table3.rows[2].cells[1].onclick = function(){init(1);} table3.rows[3].cells[2].onclick = function(){ccssty(0);} table3.rows[4].cells[3].onclick = function(){ccssty(1);} table3.rows[1].cells[0].style.cursor = "hand" table3.rows[2].cells[1].style.cursor = "hand" table3.rows[3].cells[2].style.cursor = "hand" table3.rows[4].cells[3].style.cursor = "hand" table3.onmouseover = new Function("var d='over'; moveit(d);"); table3.onmouseout = new Function("var d='out'; moveit(d);"); table3.onclick = clickit; init(0); function get_Element(the_ele,the_tag){ the_tag = the_tag.toLowerCase(); if(the_ele.tagName.toLowerCase()==the_tag)return the_ele; while(the_ele=the_ele.offsetParent){ if(the_ele.tagName.toLowerCase()==the_tag)return the_ele; } return(null); } function setHorizontal(r,c,cn) { for (var i=0;i<table3.rows[r].cells.length ;i++) { table3.rows[r].cells[i].className = cn; } } function setVertical(r,c,cn) { for (var i=1;i<table3.rows.length ;i++) // i starts from 0 because of TH { table3.rows[i].cells[c].className = cn; } } function clickit(){ if (currentRow == 0) { return; } var cl = parseInt(clickl.innerText), cc = parseInt(clickc.innerText); if (cl+"" != "NaN" && cc+"" != "NaN") { setVertical(currentRow,cc-1,"outit"); setHorizontal(cl,currentCol,"outit"); } //Vertical Cells setVertical(currentRow,currentCol-1,"clkit"); //Horizontal Cells setHorizontal(currentRow,currentCol-1,"clkit"); //The color at the cross point table3.rows[currentRow].cells[currentCol-1].className = "clkcr"; clickl.innerText = currentRow + "/"+Nrow clickc.innerText = currentCol + "/"+Ncol window.status = "Click on "+currentRow+","+currentCol; } function moveit(dir){ var the_obj = event.srcElement; if(the_obj.tagName.toLowerCase() == "table") return; if(the_obj.tagName.toLowerCase() == "th") { var the_td = get_Element(the_obj,"th"); } else { var the_td = get_Element(the_obj,"td"); } var the_tr = the_td.parentElement; currentRow = the_tr.rowIndex ; currentCol = the_td.cellIndex+1 ; //Vertical Cells setVertical(currentRow,currentCol-1,(dir=="over")?"ovrit":"outit"); //Do not set horizontal cells when the cursor is on TH if (currentRow>0) { //Horizontal Cells setHorizontal(currentRow,currentCol-1,(dir=="over")?"ovrit":"outit"); //The color at the cross point the_tr.cells[currentCol-1].className = (dir=="over")?"cross":"outit"; var cl = parseInt(clickl.innerText), cc = parseInt(clickc.innerText); if (cl+"" != "NaN" && cc+"" != "NaN") { table3.rows[cl].cells[cc-1].className = "clkcr"; } } cline.innerText = currentRow + "/"+Nrow ccell.innerText = currentCol + "/"+Ncol } function init(f){ var val = new Array(); var the_obj = event.srcElement; var ii = jj = 0; var the_table = get_Element(the_obj,"table"); ii = the_table.rows.length; jj = the_table.rows[0].cells.length for(i=1;i<ii;i++){ for(j=0;j<jj;j++){ the_table.rows[i].cells[j].innerText= (f==0)?(""+((i-1)*jj+j+1)):(""+i+";"+(j+1)) ; } } } function ccssty(flag){ var the_obj = event.srcElement; var the_table = get_Element(the_obj,"table"); if(flag==0) the_table.style.cssText = "PADDING-RIGHT: 0px; MARGIN-TOP: -3px; PADDING-LEFT: 0px; FONT-SIZE: 14px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 2px; OVERFLOW: hidden; WIDTH: 710px; COLOR: blue; PADDING-TOP: 0px; FONT-FAMILY: 宋体; HEIGHT: 11px"; if(flag==1) the_table.style.cssText = "PADDING-RIGHT: 0px; MARGIN-TOP: -3px; PADDING-LEFT: 0px; FONT-SIZE: 14px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 2px; OVERFLOW: hidden; WIDTH: 710px; COLOR: #AAAA00; PADDING-TOP: 0px; FONT-FAMILY: 宋体; HEIGHT: 11px"; } </script> 当前行:<span id=cline></span><br/> 当前列:<span id=ccell></span><br/> 点击行:<span id=clickl></span><br/> 点击列:<span id=clickc></span><br/> </HTML>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部