Rewrote leaderboard to only use element ids - now much faster and

working
This commit is contained in:
Simon Pamies committed 2011-06-13 20:09:12 +02:00
1 parent b5a896184f
commit b958df7181
2 files changed
+46 -696

No files matched your search

@@ -23,40 +23,39 @@ function displayLeaderboard(data) {
for (key in data) {
competitor = data[key];
$('#overall-clipping tr[rowid='+rowid+'] td[colid=3] span').each(function(index) {
if ($(this).html() != key) {
/* competitor position has changed - refresh whole line */
name_element = $('#clipping-'+rowid+'-3 span');
if (true || name_element.html() == key) {
/* competitor position has changed - refresh whole line */
$(this).html(key);
$(this).closest('tr').find('td[colid=2] span').html(competitor.nationality);
$(this).closest('tr').find('td[colid=1] span').html(competitor.global_rank);
name_element.html(key);
$('#clipping-'+rowid+'-1 span').html(competitor.global_rank);
$('#clipping-'+rowid+'-2 span').html(competitor.nationality);
/* now set values independent what has been there before */
racepos = 1;
for (racerank in competitor.raceranks) {
$('#race-'+racepos+' .main-box ul li[rowid='+rowid+']').html(competitor.raceranks[racerank]);
/* now set values independent what has been there before */
racepos = 1;
for (racerank in competitor.raceranks) {
$('#race-'+racepos+'-rankrow-'+rowid).html(competitor.raceranks[racerank]);
markpos = 1;
for (markrank in competitor.markranks[racepos-1]) {
$('#race-'+racepos+' #leg-'+markpos+' .leg-box ul li[rowid='+rowid+']').html(competitor.markranks[racepos-1][markrank]);
markpos = 1;
for (markrank in competitor.markranks[racepos-1]) {
$('#race-'+racepos+'-mark-'+markpos+'-row-'+rowid).html(competitor.markranks[racepos-1][markrank]);
legpos = 1;
for (legvalue in competitor.legvalues[racepos-1][markpos-1]) {
if (legvalue == 0) {
$('#race-'+racepos+' #leg-'+markpos+' .table-box ul li[rowid='+rowid+']').html(parseFloat(competitor.legvalues[racepos-1][markpos-1][legvalue]).toFixed());
} else {
$('#r'+racepos+'-m'+markpos+' tr[rowid='+rowid+'] td[colid='+(legpos-1)+'] span').html(competitor.legvalues[racepos-1][markpos-1][legvalue]);
}
legpos += 1;
legpos = 1;
for (legvalue in competitor.legvalues[racepos-1][markpos-1]) {
if (legvalue == 0) {
$('#race-'+racepos+'-mark-'+markpos+'-legrow-'+rowid).html(parseFloat(competitor.legvalues[racepos-1][markpos-1][legvalue]).toFixed());
} else {
$('#race-'+racepos+'-mark-'+markpos+'-valrow-'+rowid+'-pos-'+(legpos-1)+' span').html(competitor.legvalues[racepos-1][markpos-1][legvalue]);
}
markpos += 1;
legpos += 1;
}
markpos += 1;
}
} else {
/* check if values have changed */
}
});
} else {
/* check if values have changed */
}
rowid += 1;
}
@@ -39,226 +39,19 @@
<a class='sort-rank sort-asc' href='#'></a>
<table id='overall-clipping'>
<tbody>
<tr class='odd' rowid='1'>
<td colid='1'>
<tal:for repeat="clpos range(1,21)">
<tr class='${repeat["clpos"].even and "odd" or "even"}' id='clipping-${clpos}'>
<td id='clipping-${clpos}-1'>
<span></span>
</td>
<td colid='2'>
<td id='clipping-${clpos}-2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='2'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='3'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='4'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='5'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='6'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='7'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='8'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='9'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='10'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='11'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='12'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='13'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='14'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='15'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='16'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='17'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='18'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='odd' rowid='19'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<span></span>
</td>
</tr>
<tr class='even' rowid='20'>
<td colid='1'>
<span></span>
</td>
<td colid='2'>
<span></span>
</td>
<td colid='3'>
<td id='clipping-${clpos}-3'>
<span></span>
</td>
</tr>
</tal:for>
</tbody>
</table>
<ul id='table-scrolling'>
@@ -278,26 +71,9 @@
<div class='main-box'>
<a class='main-box-active' href='javascript:;' onclick='$("#race-${raceid} .leg-wrap").toggle();'>
<ul>
<li rowid='1'></li>
<li rowid='2'></li>
<li rowid='3'></li>
<li rowid='4'></li>
<li rowid='5'></li>
<li rowid='6'></li>
<li rowid='7'></li>
<li rowid='8'></li>
<li rowid='9'></li>
<li rowid='10'></li>
<li rowid='11'></li>
<li rowid='12'></li>
<li rowid='13'></li>
<li rowid='14'></li>
<li rowid='15'></li>
<li rowid='16'></li>
<li rowid='17'></li>
<li rowid='18'></li>
<li rowid='19'></li>
<li rowid='20'></li>
<tal:for repeat="rankrow range(1,21)">
<li id='race-${raceid}-rankrow-${rankrow}'></li>
</tal:for>
</ul>
<span>1</span>
</a>
@@ -312,51 +88,17 @@
<a class='leg-box-sort sort-asc' href='#'></a>
<a class='leg-box-active' href='javascript:;' onclick='$(this).closest(".leg-wrap").find(".table-box, .race-table").toggle();'>
<ul>
<li rowid='1'></li>
<li rowid='2'></li>
<li rowid='3'></li>
<li rowid='4'></li>
<li rowid='5'></li>
<li rowid='6'></li>
<li rowid='7'></li>
<li rowid='8'></li>
<li rowid='9'></li>
<li rowid='10'></li>
<li rowid='11'></li>
<li rowid='12'></li>
<li rowid='13'></li>
<li rowid='14'></li>
<li rowid='15'></li>
<li rowid='16'></li>
<li rowid='17'></li>
<li rowid='18'></li>
<li rowid='19'></li>
<li rowid='20'></li>
<tal:for repeat="markrow range(1,21)">
<li id='race-${raceid}-mark-${markid}-row-${markrow}'></li>
</tal:for>
</ul>
</a>
</div>
<div class='table-box' style="display:none;">
<ul>
<li rowid='1'></li>
<li rowid='2'></li>
<li rowid='3'></li>
<li rowid='4'></li>
<li rowid='5'></li>
<li rowid='6'></li>
<li rowid='7'></li>
<li rowid='8'></li>
<li rowid='9'></li>
<li rowid='10'></li>
<li rowid='11'></li>
<li rowid='12'></li>
<li rowid='13'></li>
<li rowid='14'></li>
<li rowid='15'></li>
<li rowid='16'></li>
<li rowid='17'></li>
<li rowid='18'></li>
<li rowid='19'></li>
<li rowid='20'></li>
<tal:for repeat="legrow range(1,21)">
<li id='race-${raceid}-mark-${markid}-legrow-${legrow}'></li>
</tal:for>
</ul>
<a class='table-box-sort sort-asc' href='#'></a>
</div>
@@ -404,406 +146,15 @@
<a class='sort-asc' href='#'></a>
</td>
</tr>
<tr class='odd' rowid='1'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='2'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='3'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='4'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='5'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='6'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='7'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='8'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='9'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='10'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='11'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='12'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='13'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='14'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='15'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='16'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='17'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='18'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='odd' rowid='19'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<span>&nbsp;</span>
</td>
</tr>
<tr class='even' rowid='20'>
<td colid='1'>
<span>&nbsp;</span>
</td>
<td colid='2'>
<span>&nbsp;</span>
</td>
<td colid='3'>
<span>&nbsp;</span>
</td>
<td colid='4'>
<span>&nbsp;</span>
</td>
<td colid='5'>
<span>&nbsp;</span>
</td>
<td colid='6'>
<tal:for repeat="valrow range(1,21)">
<tr class='odd' id='race-${raceid}-valrow-${valrow}'>
<tal:for repeat="valrowpos range(1,7)">
<td id='race-${raceid}-mark-${markid}-valrow-${valrow}-pos-${valrowpos}'>
<span>&nbsp;</span>
</td>
</tal:for>
</tr>
</tal:for>
</tbody>
</table>
</div>