テーブルのヘッダー固定化スクリプト!tableタグ複数行をスクロール対応する方法!jQueryプラグインFixed_midashiで簡単に実現!
HTMLでテーブルを使う時で行数が多いとページング機能を実装したり、
スクロールできるようにすると思います。
JavaScriptでajaxを利用すれば、ページング機能を搭載することもできるので、
それほど苦労しませんが、問題はスクロール仕様を実装するときです。
単にheightを固定値に指定するだけでは、thなどの表の見出し部分まででスクロールされてしまいますよね。
こういう場合、特に行数が多い表って列名が隠れてしまうので、
何がどんな情報なのか分かりづらいくなってしまいます。
なので、表のヘッダ行を固定化させたいと思い、各種プラグインを使用したり、
自分で作成したりしましたが、どうも使いにくいのです。
というのは、tableタグの記述の仕方によっては動かない場合もあり、
すべてのtableタグを共通の記述にしないといけないという点で困っていました。
できれば、固定化させる部分だけ指定できたらいいものですが・・・。
なんて探っていたら素晴らしいスクリプトに出会えました!
Fixed_midashi.jsで簡単に表のヘッダを固定!
正直これはかなり使えると思います。
Fixed_midashiというJavaScriptのライブラリです。
このライブラリを読み込ませて、表内のtableタグに属性値を指定するだけで、
簡単にヘッダを固定することができました。
ものすごく使いやすい上に、汎用性が高く、
他のブラウザでも正常に動作するので一番おすすめですね。
仕組みとしては、表内のtrタグを自動判別してヘッダを固定化するため、
tableタグの記述の違いによる影響を受けにくいのです。
さらに素晴らしい点は、なんと複数行固定化することができます。
Fixed_midashiの使い方!
まずはプラグイン「Fixed_midashi」をダウンロードし入手します。
このプラグインのJSファイルを表のヘッダを固定化させたいページに記述します。
以下はサンプルソースですが、こんな感じに記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <html> <head> <script src="./js/fixed_midashi.js"></script> </head> <body onLoad="FixedMidashi.create();"> <div style="height:100%;overflow:scroll;"> <table style="width:100%;" _fixedhead="rows:1; cols:1"> <tbody> <tr><th>A列</th><th>B列</th><th>C列</th> </tr> <tr> <td>値1</td><td>値2</td><td>値3</td> </tr> <tr> <td>値4</td><td>値5</td><td>値6</td> </tr> </table> </div> </body> </html> |
3行目にダウンロードしたプラグインをheadタグの領域内に指定します。
次に5行目にbodyタグの属性にonLoadを追加し、FixedMidashi.create()メソッドを指定します。
これは、ページ読み込み後に上記のメソッドを実行するというものです。
あとは8行目でtableタグの属性に「_fixedhead=”rows:1; cols:1″」を追加します。
この属性値が、表のヘッダを固定化するための記述になります。
ちなみに複数行固定化させたい場合は、例えば2行なら「_fixedhead=”rows:2; cols:1″」。
tableタグを上から見て指定したrowsの値の分だけのtrタグの範囲を固定化できますよ。
上記のソースですが、tableタグを囲んでいるタグはスクロールを実装するために敢えて追加したものです。
注意点は、tableタグのwidthを指定しないと、ヘッダ固定のスクリプトが働いたときに、
表示範囲外までヘッダ部が飛び出してしまいます。widthは可変値、固定値問わず指定しておきましょう。
表のヘッダ固定化のサンプル
A列 | B列 | C列 |
---|---|---|
値1 | 値2 | 値3 |
値4 | 値5 | 値6 |
値7 | 値8 | 値9 |
値10 | 値11 | 値12 |
値13 | 値14 | 値15 |
値16 | 値17 | 値18 |
値19 | 値20 | 値21 |
値22 | 値23 | 値24 |
最新記事 by よっき (全て見る)
- 「圧着」と「圧接」の違い!コネクタを使った効率的な配線作業! - 2019年10月26日
- 夏の暑さ対策は大丈夫?冷却性能抜群のおすすめCPUクーラー!メモリに干渉しない最強の商品を紹介! - 2018年5月1日
- 自作PC弐号機のケースを換装!SilverStone製のミニタワーで冷却性とかっこよさを追求! - 2018年3月11日
スポンサードリンク
こちらの記事もどうぞ!
記事公開日:2015年3月28日
最終更新日:2016年3月25日