return new tableFactory(type); //防止没有写new的情况
}
}
tableFactory.prototype = {
chartForm : function(){
var html = ‘’; //私有属性
this.loadParams = function(opts){
var jsonArr = []; //JSON数组
var icount = 0;//用于控制行变色
var rowHeaderArr = [];//每行第一列格式数组
if(opts.jsonArr){
jsonArr = opts.jsonArr;
}
if(opts.rowHeaderArr){
rowHeaderArr = opts.rowHeaderArr;
}
var colNum = jsonArr.length; //记录总列数
var rowNum = rowHeaderArr.length - 1;//总行数(除去首行)
html = “<TABLE id=‘table’ style=“border-collapse:collapse;border-spacing:0;border:1px solid #ccc;font-size:12px;text-align:center;” >”+
" "+
“ ”; //左上角空的TD
//拼写第一行
for(var i = 0;i < colNum;i++){
var c1 = jsonArr[i].c1;
html += ‘’ + c1 + ‘’;
}
html += ‘’;
for(var i = 0;i < rowNum + 1;i++){
//拼写行头
var colorBox = rowHeaderArr[i].split(‘,’)[0];
var hearderText = rowHeaderArr[i].split(‘,’)[1];
html += “
”+hearderText+“”;//拼写这一行右边的所有列
for(var j = 0;j < colNum;j++){
//alert(i);
var colValue = jsonArr[j][‘c’+(i+2)];
var tdWidth;
if(colNum <= tableFactory.TD_WIDTHS.length)
tdWidth = tableFactory.TD_WIDTHS[colNum-1];
else
tdWidth = tableFactory.TD_WIDTHS[tableFactory.TD_WIDTHS.length - 1];
console.info(tdWidth);
if(i%2 == 0){
html += ‘’+colValue+‘’;
}else{
html += ‘’+colValue+‘’;
}
}
//换行
html += ‘’;
}
html += ‘’;
html += ‘’;
html += ‘’;
} ;
this.loadData = function(houseId,callback){
document.getElementById(houseId).innerHTML = html; //展示table
if(callback) callback();
}
}
}
tableFactory.TD_WIDTHS = [220,190,150,120,90,60,10];
Demo: