jquerycsvtotable + tablesorter: задържане на дисплея, докато всичко се зареди?

Използвам tablesorter в комбинация с jquerycsvtotable. Всичко работи добре, но... има забавяне между момента, в който таблицата се зарежда, и момента, в който се показва сортировач на таблици, който кара данните да се показват без никакво форматиране на екрана. Времето варира в зависимост от количеството данни, между 2 и да речем 5 секунди.

Има ли някакъв начин да се покаже „зареждащ се“ gif или просто нищо, докато целият процес не приключи, за да се избегне показването на грозни данни?

Благодаря!

PS: Нямам предвид сортирането на времеви таблици, необходимо за пренареждане на редове, когато щракнете върху определена заглавна клетка, която знам, че вече е подредена с незадължителни GIF файлове за обработка, показани в заглавката...

РЕДАКТИРАНЕ: моля, намерете по-долу моя код.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="/bg/js/ts/css/theme.default.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="/js/ts/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="/js/ts/js/jquery.tablesorter.widgets.min.js"></script>
<script type="text/javascript" src="/js/csv/js/jquery.csvToTable.js"></script>

<script>
$(function() {
  var mytable = $('#tabla1')
    .CSVToTable('/est/data/cli_30_0000.txt',{
      loadingImage: '/js/csv/images/loading.gif',
      separator: ";"
    })
    .bind("loadComplete",function(){
      var footer = mytable.find('tr:last');
      mytable
        .find('thead').after( footer.wrap('<tfoot/>').parent() ).end()
        .tablesorter({
          sortList: [[5,0]],
          widthFixed : true,
          widgets: ["zebra", "filter", "stickyHeaders"],
          widgetOptions: {filter_hideFilters : true}
        });
    });
});
</script>

</head>
<body>

<p>
<a href=../../>Home</a> <a href=../>30</a> <a href=./>0000</a><br>
2013-04-15 12:45:17
</p>

<div>
<table id="tabla1" class="tablesorter">
</div>

</table>

</body>
</html>

person jm_    schedule 20.04.2013    source източник
comment
Можете ли да споделите някакъв код? По-конкретно как инициализирате csvToTable и tablesorter?   -  person Mottie    schedule 21.04.2013
comment
Добавен код на @Mottie. Juste FYI, CSV е с дължина 2000 реда, 12 колони (една от тях съдържа връзки),   -  person jm_    schedule 21.04.2013


Отговори (1)


Чудя се дали решението е толкова лесно, колкото просто добавяне на името на класа "tablesorter" към таблицата. Ако използвате тема, различна от тази по подразбиране, това име на тема също трябва да бъде включено:

  var mytable = $('#tabla1')
    .CSVToTable('/est/data/cli_30_0000.txt',{
      tableClass: 'tablesorter tablesorter-default', // adjust theme name here
      loadingImage: '/js/csv/images/loading.gif',
      separator: ";"
    })
person Mottie    schedule 22.04.2013
comment
Съжалявам за късния отговор. Страхувам се, че това не работи. В тази таблица използвам темата по подразбиране, така че просто копирах/поставих вашия код. Не се притеснявайте, не е критичен проблем. Благодаря. - person jm_; 24.04.2013