⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sorttable.js

📁 企业宣传网站后台
💻 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 + -