📄 sorttable.js
字号:
function convert(sValue, sDataType) {
switch(sDataType) {
case "int":
return parseInt(sValue);
case "float":
return parseFloat(sValue);
case "date":
return new Date(Date.parse(sValue));
default:
return sValue.toString();
}
}
function generateCompareTrs(iCol, sDataType) {
return function compareTrs(oTr1, oTr2) {
var vValue1, vValue2;
if(oTr1.cells[iCol].getAttribute("value")) {
vValue1 = convert(oTr1.cells[iCol].getAttribute("value"), sDataType);
vValue2 = convert(oTr2.cells[iCol].getAttribute("value"), sDataType);
} else {
vValue1 = convert(oTr1.cells[iCol].firstChild.nodeValue, sDataType);
vValue2 = convert(oTr2.cells[iCol].firstChild.nodeValue, sDataType);
}
if(vValue1 < vValue2) {
return -1;
} else if(vValue1 > vValue2) {
return 1;
} else {
return 0;
}
};
}
function sortTable(sTableID, iCol, sDataType) {
var oTable = document.getElementById(sTableID);
var oTBody = oTable.tBodies[0];
var colDataRows = oTBody.rows;
var aTRs = new Array();
for(var i=0; i<colDataRows.length; i++) {
aTRs[i] = colDataRows[i];
}
if(oTable.sortCol == iCol) {
aTRs.reverse();
} else {
aTRs.sort(generateCompareTrs(iCol, sDataType));
}
var oFragment = document.createDocumentFragment();
for(var i=0; i<aTRs.length; i++) {
oFragment.appendChild(aTRs[i]);
}
oTBody.appendChild(oFragment);
oTable.sortCol = iCol;
//改图片
if(document.getElementById("imgSort" + iCol).value == "up") {
document.getElementById("imgSort" + iCol).value = "down";
document.getElementById("imgSort" + iCol).setAttribute("src", "images/down.gif");
} else {
document.getElementById("imgSort" + iCol).value = "up";
document.getElementById("imgSort" + iCol).setAttribute("src", "images/up.gif");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -