テーブルのヘッダを固定してスクロールする jQuery プラグイン2010-03-08
Excel のウィンドウ枠の固定のように、テーブルのヘッダや左側を固定して、残りの部分をスクロールさせるための jQuery プラグインを書きました。
マークアップはシンプルで、普通にテーブルを書いたら、jQuery の作法でプラグインを呼び出すだけです。
jQuery のおれおれプラグインはいくつか書いた事がありましたが、こうやって公開するのは初めてです。ごてごての機能が欲しいんじゃなくて、単に既存のテーブルを固定スクロール化したいだけの時に、いいのが見つからなくて書いたので、けっこうニーズがあるんじゃないかと思ってます。
下記は簡単なサンプルです。詳細は専用ページを見てみて下さい。
HTML
<table id="tablefix">
<thead>
<tr>
<th rowspan="2">ヘッダA</th>
<th rowspan="2">ヘッダB</th>
<th colspan="2">ヘッダC</th>
<th rowspan="2">ヘッダD</th>
<th rowspan="2">ヘッダE</th>
</tr>
<tr>
<th>ヘッダ C-1</th>
<th>ヘッダ C-2</th>
</tr>
</thead>
<tbody>
<tr>
<td>データ</td>
<td>データ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
</tr>
<tr>
<td>データ</td>
<td>データ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
</tr>
<tr>
<td>データ</td>
<td>データ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
</tr>
<tr>
<td>データ</td>
<td>データ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
</tr>
<tr>
<td>データ</td>
<td>データ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
<td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
</tr>
</tbody>
</table>
JavaScript
$(function() {
$('#tablefix').tablefix({width: 500, height: 200, fixRows: 2, fixCols: 2});
});
実行結果
| ヘッダA | ヘッダB | ヘッダC | ヘッダD | ヘッダE | |
|---|---|---|---|---|---|
| ヘッダ C-1 | ヘッダ C-2 | ||||
| データ | データ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ |
| データ | データ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ |
| データ | データ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ |
| データ | データ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ |
| データ | データ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ | データデータデータデータデータデータデータデータデータデータデータデータ |
カテゴリ: Development タグ: jquery javascript html excel