私の問題を再現するために作成したjsfiddleを参照してください。http://jsfiddle.net/motocomdigital/22KFS/3/
私のプロジェクトでは、並べ替え可能なテーブルを作成しました。これを行うには、非常に単純なjqueryプラグインであるjqueryテーブルソーターを使用しました。テーブルソーターも jsfidde に含まれています。テーブル ヘッダーをクリックすると、テーブルの列が降順から昇順で並べ替えられていることがわかります。
これでいいのですが、問題は...
私のライブ Web サイトでは、テーブルの高さは約 125 行です。そして、テーブルのページネーションは絶対に避けたいです。
だから私の考えは、ほぼ機能しているjQueryでスクロールするときにテーブルヘッダーを修正することでした。私のフィドルを見てください。ヘッダーをページの上部に固定するために使用したjQueryは機能します。
問題は、テーブル ヘッダーが固定され、テーブルが 1 行上に移動し、非常にグリッチになるためです。
グリッチを取り除き、ウィンドウの上部に達したときに行をスキップするのを止めてください。
助けてくれて本当にありがとう。
ここでjsfiddleを参照してくださいhttp://jsfiddle.net/motocomdigital/22KFS/3/
jQuery
var $window = $(window),
$tableHead = $(".table-head"),
offset = $tableHead.offset();
$window.scroll(function() {
if ($window.scrollTop() > offset.top) {
$tableHead.addClass('fixed');
} else {
$tableHead.removeClass('fixed');
}
});
CSS
.fixed {
position: fixed;
top: 0;
}
HTML
<table id="table-sorter" width="400" border="0" cellspacing="0" cellpadding="10">
<thead>
<tr class="table-head">
<th width="100" height="18" valign="middle">Number</th>
<th width="100" height="18" valign="middle">First Name</th>
<th width="100" height="18" valign="middle">Surname</th>
<th width="100" height="18" valign="middle">System</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>John</td>
<td>Smith</td>
<td>Wordpress</td>
</tr>
... ...
</tbody>
</table>