-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathformTab.js
More file actions
executable file
·91 lines (91 loc) · 2.91 KB
/
formTab.js
File metadata and controls
executable file
·91 lines (91 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/**
* @name ./formTab.js
* @author unasm < [email protected] >
* @since 2013-11-15 19:25:22
*/
/**
* @param contst QESTNUM question_num 总共有多少个问题
*/
var QESTNUM = 5;
$(document).ready(function () {
var sum = Array();
var _table = document.getElementById("table");
$.ajax({
url: 'score.xml',dataType: 'xml',
success: function (data, textStatus, jqXHR) {
var boys = data.getElementsByTagName("boy");
var len = boys.length;
for (var i = 0 ; i < len; i ++) {
sum[i] = 0;
var tBoy = boys[i];
for (var j = 0, lj = tBoy.childNodes.length; j < lj; j ++) {
if(tBoy.childNodes[j].tagName == "score"){
sum[i] += $(tBoy.childNodes[j]).text() - 0;
}
}
}
var tabStr = "";
for (var i = 0; i < len ; i ++) {
var node = getMax(sum);
tabStr += formTr(boys[node] , sum[node]);
sum[node] = 0;
}
$(_table).append(tabStr)
showTr();
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus)
}
});
/**
* 一个小效果,一个一个的显示
* table-row;
*/
function showTr() {
var trs = $(_table).find("tr");
var trsLen = trs.length,idx = 0;
console.log(trsLen);
var flag = setInterval(function () {
if(idx === trsLen)clearInterval(flag);
idx++;
$(trs[idx]).css("opacity","0").css("display","table-row").animate({
opacity:"1",
"margin-top":0
},400)
},150)
}
function getMax() {
var node = 0,max = sum[0];
for (var i = 1, l = sum.length; i < l; i ++) {
if(sum[i] > max){
max = sum[i];
node = i;
}
}
return node;
}
/**
* 构成table 的tr
* @param node boy xml的一个boy节点
*/
function formTr(boy ,total ) {
var pointer = 0 , boyLen = boy.childNodes.length;
var res = "<tr style = 'display:none'><td>" + $(boy).attr("name") +"</td><td>" + total + "</td>";
var quesId = 1;
while( (pointer < boyLen) ){
if(boy.childNodes[pointer].tagName == "score"){
var score = boy.childNodes[pointer];
var nextQuestionId = parseInt( $(score).attr("name") );
for(;quesId <= QESTNUM && quesId < parseInt($(score).attr("name") );quesId++){
//留下一个添加通过的情况
res += "<td></td>";
}
res += "<td class = 'passed'>" + $( score ).text() + "</td>";
quesId++;
}
pointer++;
}
res += "</tr>";
return res;
}
})