爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
JS特效
利用js对表格进行排序(包括数值、字符串、日期等数据类型)
利用js对表格进行排序(包括数值、字符串、日期等数据类型)
日期:2014-05-18 浏览次数:20171 次
以下是程序代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <title>爱易网 特效演示页 sort table -- by zhangchen</title> <style type="text/css"> * { padding:0; margin:0; } body { font-family:verdana; font-size:12px; } .content { width:550px; margin:20px auto; } .content h1 { font-family:'微软雅黑'; font-size:18px; padding-bottom:5px; } table { width:100%; } th, td { padding:6px 0; text-align:center; } th { background-color:#007D28; color:#ffffff; } tr { background-color:#E8FFE8; } .odd { background-color:#FFF3EE; } .highlight { background-color:#FFF3EE; } </style> <script type="text/javascript"> //动态给js添加class属性 function addClass(element, value) { if(!element.className) { element.className = value; //如果element本身不存在class,则直接添加class为value的值 } else { element.className += " "+value; //如果element之前有一个class值,注意中间要多一个空格,然后再加上value的值 } } //鼠标经过时高亮显示 function highlightRows() { var rows = document.getElementsByTagName("tr"); for(var i=0; i<rows.length; i++) { rows[i].oldClassName = rows[i].className; //首先保存之前的class值 rows[i].onmouseover = function() { addClass(this, "highlight"); //鼠标经过时添加class为highlight的值 } rows[i].onmouseout = function() { this.className = this.oldClassName; //鼠标离开时还原之前的class值 } } } //比较之前进行数据转换 function convert(value, dataType) { switch(dataType) { case "int": return parseInt(value); break case "float": return parseFloat(value); break case "date": return Date.parse(value); break default: return value.toString(); } } //用于sort比较字符串 function compareCols(col, dataType) { return function compareTrs(tr1, tr2) { value1 = convert(tr1.cells[col].innerHTML, dataType); value2 = convert(tr2.cells[col].innerHTML, dataType); if (value1 < value2) { return -1; } else if (value1 > value2) { return 1; } else { return 0; } }; } //对表格进行排序 function sortTable(tableId, col, dataType) { var table = document.getElementById(tableId); var tbody = table.tBodies[0]; var tr = tbody.rows; var trValue = new Array(); for (var i=0; i<tr.length; i++ ) { trValue[i] = tr[i]; //将表格中各行的信息存储在新建的数组中 } if (tbody.sortCol == col) { trValue.reverse(); //如果该列已经进行排序过了,则直接对其反序排列 } else { trValue.sort(compareCols(col, dataType)); //进行排序 } var fragment = document.createDocumentFragment(); //新建一个代码片段,用于保存排序后的结果 for (var i=0; i<trValue.length; i++ ) { fragment.appendChild(trValue[i]); } tbody.appendChild(fragment); //将排序的结果替换掉之前的值 tbody.sortCol = col; } window.onload = function() { highlightRows(); } </script> </head> <body> <div class="content"> <h1>会员信息表(点击表格标题可进行排序)</h1> <table summary="user infomation table" id="tableSort"> <thead> <tr> <th onclick="sortTable('tableSort', 0, 'int')" style="cursor: pointer;">会员ID</th> <th onclick="sortTable('tableSort', 1)" style="cursor: pointer;">会员名</th> <th onclick="sortTable('tableSort', 2)" style="cursor: pointer;">邮箱</th> <th onclick="sortTable('tableSort', 3)" style="cursor: pointer;">会员组</th> <th onclick=
上一篇:狡猾的按钮特效
下一篇:div展开收缩特效代码
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
史上最严电话实名制9月实行 三大难题待解
传运营商高层将变化 专家称需体制革新
京东进驻微信一级入口或影响自身战略布局
Android版WhatsApp曝漏洞:聊天记录可被窃取
凑足了升级ios8所需要的5.7G空间,没料到“苹果”却变成“板砖”,iOS8还能一起愉快玩耍吗?
国美在线叫板京东:李俊涛底气在哪?
Facebook思科联手推免费WiFi 欲覆盖全美
易迅大众点评缩水执行“七天后悔权”被约谈
高通拼抢国际芯片市场 联发科海外拓展难安心
推荐阅读
更多>
同程旅游融资后变土豪 如何烧钱占领市场?
火狐手机发展前路:或被运营商绑架
NEC拟出售移动效劳子公司NEC Mobile
史玉柱此刻离任:营销巨匠为新游戏炒作?
苹果已经允许开发者提交64位应用程序
谷歌欲收买WhatsApp添加砝码 对方否认
迅雷再次在美提交IPO申请
银联布局二维码支付,“擦边球”生态不能自救
逆转猜想:如果阿里成为雅虎大股东会怎样?
互联网情色众多 Facebook与9158态度大不同
网络音乐非片面收费 高晓松时间表难完成
承载京东C2C野心的拍拍网:梦想丰满,现实骨感
喜大普奔:2016年国内乘客有望在飞机上使用手机
支付宝曝平安破绽:转账信息被谷歌抓取
苹果多色彩!葫芦里究竟卖的什么药
原万网CTO周雷加盟亿玛 出任CTO一职
从雷军的“互联网七字诀”告诉你一个非妖魔化的小米
评论:马云的成功建立在什么基础上很值得怀疑
微信将商场O2O战火烧到了阿里巴巴老家
小米打响手机价格战 为米3铺路或另有所图