本文实例讲述了jQuery实现调整表格单列顺序的方法。分享给大家供大家参考,具体如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>调整表格顺序</title> <script type = "text/javascript" src="jquery-1.7.2.js"></script> <style type = "text/css"> #main{ width:800px; height:400px; margin:auto; text-align:center; border:1px solid red; background:#eee; padding-top:100px; } #tabf{ height:170px; position:relative; } #showDetail{ left:244px; width:20px; height:15px; line-height:15px; border-left:1px solid blue; border-top:1px solid blue; border-right:1px solid blue; cursor:pointer; display:none; position:absolute; } #tab{ margin-top:16px; border-collapse:collapse; position:absolute; } #tab td{ height:50px; width:50px; line-height:50px; border:1px solid blue; } #sortTab{ width:170px; height:155px; border:3px outset; background:#ccc; position:absolute; top:15px; left:270px; display:none; } #tdList{ width:90px; height:150px; border:1px inset; position:absolute; } #opt{ width:80px; height:150px; position:absolute; left:90px; } .btn{ margin:10px; width:60px; height:20px; } </style> <script type = "text/javascript"> $(function(){ index = 0; cols = new Array(); show_Hide_tipBtn();//显示或隐藏表格设置面板 showResult(); //文档加载完毕时,先将表格中的数据显示到面板中 $(".up").click(function(){ sortColumn(cols,index,"tab","up") showResult() $(".sortTd").each(function(m){ if(m==index){ $(this).css("background-color","red"); }else{ $(this).css("background-color","") } }) }) $(".down").click(function(){ sortColumn(cols,index,"tab","down") showResult() $(".sortTd").each(function(m){ if(m==index){ $(this).css("background-color","red"); }else{ $(this).css("background-color","") } }) }) }) function getResult(cols){ var result = ""; cols.each(function(n){ result += "<span style = 'margin-top:10px;border:1px solid;display:block' id='"+n+"' class='sortTd'>"+$(this).text()+"</span>"; }) return result; } function showResult(){ //将表格中各列的第一行显示到面板中 cols.length = 0; $("#tab tr:first td").each(function(i){ var col = $("#tab tr td::nth-child("+(i+1)+")") //将每一列分别存入数组cols中 cols.push(col); $("#tdList").html(getResult($(cols))); //添加到面板 $(".sortTd").click(function(){ $(".sortTd").css("background-color","") $(this).css("background-color","red"); index = parseInt($(this).attr("id")); }) }) } function show_Hide_tipBtn(){ $("#tab").mouseover(function(){ //鼠标移入到表格上时,显示弹出按钮 $("#showDetail").css("display","block"); }).mouseout(function(){ //鼠标移入到表格上时,隐藏弹出按钮 $("#showDetail").css("display","none"); }) $("#showDetail").mouseover(function(){ //鼠标移入到弹出按钮上时,显示弹出按钮 $(this).css("display","block"); }).mouseout(function(){ //鼠标移入到弹出按钮上时,隐藏弹出按钮 $(this).css("display","none"); }) $("#showDetail").click(function(){ $("#sortTab").slideToggle("slow"); }) } function sortColumn(col, t, faId, dir){ if (((t == 0) && (dir == "up")) || ((t == col.length-1) && (dir == "down"))) { return false; } else { var k = t; var idx = 0; if (dir == "up") { idx = k - 1; } else if (dir == "down") { idx = k + 1; } var temp = null; temp = col[idx]; col[idx] = col[k]; col[k] = temp; $("#" + faId + " tr").each(function(){ $(this).remove(); }) var trs = col[0].length; for (var j = 0; j < trs; j++) { var tr = $("<tr></tr>") $(col).each(function(){ tr.append($($(this)[j])); }) $("#" + faId).append(tr); } index = idx; //return col; } } </script> </head> <body> <div id = "main"> <div id = "tabf"> <div id = "showDetail">></div> <table id = "tab"> <tr> <td>a</td><td>b</td><td>c</td><td>d</td><td>e</td> </tr> <tr> <td></td><td></td><td></td><td></td><td></td> </tr> <tr> <td></td><td></td><td></td><td></td><td></td> </tr> </table> <div id = "sortTab"> <div id = "tdList"></div> <div id = "opt"> <input type = "button" value = "UP" class = "btn up"/><br/> <input type = "button" value = "DOWN" class = "btn down"/><br/> </div> </div> </div> </div> </body> </html>
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery表格(table)操作技巧汇总》、《jQuery常用插件及用法总结》、《jquery中Ajax用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。