Просто сделайте что-то вроде этого:
Скажем, у вас есть таблица, например:
<table id='table'>
<tr id='row1'><td> .... </td></tr>
<tr id='row2'><td> .... </td></tr>
<tr id='row3'><td> .... </td></tr>
<tr id='row4'><td> .... </td></tr>
</table>
И массив с новым порядком:
NewOrder[1] = 3;
NewOrder[2] = 4;
NewOrder[3] = 2;
Затем сделайте что-то подобное (не проверено, поэтому вам может понадобиться настроить код, но это идея):
for ( i=1; i<=NewOrder.length; i++ ) {
$('#row'+i).appendTo( '#table' );
}
Таким образом, они перемещаются в конец таблицы по порядку.
Таким образом, у вас будет 3 перемещенных в конец, затем 4 за ним, затем 2 за ним и т. Д. После того, как к концу таблицы добавлено ALL , первый из них станет первый ряд, а остальные будут в правильном порядке за ним.
Edit:
Сделать стиль таблицы = 'display: none;' а затем выполните $ ('# table'). show (); при запуске.
Редактировать еще раз:
Вы можете сделать div для всего содержимого тела, например
<body>
<div id='everything' style='display:none;'>
....
</div>
</body>
Так что вся страница будет скрыта (только пустой белый) за долю секунды, которая требуется для загрузки и упорядочения таблицы.
Тогда вы будете использовать:
$(function(){
$('#everything').show();
}
Показать всю страницу сразу, как только DOM будет готов. Загрузка страницы займет доли секунды, но все загружается сразу, поэтому не будет никаких пропущенных таблиц и т. Д. Пока ВСЕ находится в #everything, оно будет выглядеть просто как и загруженная страница - должна быть прозрачной для зрителя.