今回は【jQuery】テーブルのヘッダーを固定、Mr.StickyTableHeadersの使い方!!の解説になります!
こんな方に読んでほしい
- jQueryを学び始めた方へ
- プラグインのMr.StickyTableHeadersを使ってテーブルのヘッダーを固定したい方向け
- 今回はMr.StickyTableHeadersについて解説しております。
今回は、Mr.StickyTableHeadersについての解説になります。
「Mr.StickyTableHeaders」になりますが、今でも簡単で使いやすいプラグインになっております。
イメージ図は上記のようになります。
「Mr.StickyTableHeaders」を使うことによってテーブルのヘッダー(th)が固定され、スクロールと同時にヘッダーがついてきます。
Mr.StickyTableHeadersとは、テーブルのヘッダーが固定され、ついてくることを示します。
jQueryが苦手な方でも問題ありません。
まずは下記のサイトから「Mr.StickyTableHeaders」をダウンロードしましょう。
必要なファイルについて
ダウンロード後に必要なファイルについて解説していきます。
まずは、ファイル名の「Mr.StickyTableHeaders-master」をご確認ください。
- ●jsファイル
- 1「Mr.StickyTableHeaders-master」 > 「mrstickytableheaders.min.js」の1点を使用します。
<!--js-->
<script src="js/mrstickytableheaders.min.js" type="text/javascript"></script>
また、「mrstickytableheaders.min.js」を使用する際には、mrstickytableheadersを使用する宣言をしなければなりません。
以下のコードを合わせて指定しましょう。
<!--js-->
<script src="js/mrstickytableheaders.min.js" type="text/javascript"></script>
<script>
$(function(){
$('#table').mrstickytableheaders();
});
</script>
「mrstickytableheaders.min.js」と繋げて記述するのが良いでしょう。
また、ファイルの階層は、ご自身のフォルダに合わせてください。
次に、jquery本体のプラグイン設置します。
今回は2つ目のパターンを採用して解説します。
● 1つ目は、ファイルをダウンロードして使用するパターン、
● 2つ目は、ファイルをダウンロードせずに、「URL」から読み込むパターンになります。
どちらでも問題ありません。
<!--js-->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="js/mrstickytableheaders.min.js" type="text/javascript"></script>
<script>
$(function(){
$('#table').mrstickytableheaders();
});
</script>
必ず、jquery本体のプラグイン上、mrstickytableheadersを下に設置しましょう。
jqueryをダウンロードしたい方は、こちらのリンクから。
記述場所について
基本的にはbody
内に指定するようにしましょう。
基本構造の書き方は以下のようになります。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>【jQuery】テーブルのヘッダーを固定....</title>
<!--js-->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="js/mrstickytableheaders.min.js" type="text/javascript"></script>
<script>
$(function(){
$('#table').mrstickytableheaders();
});
</script>
</head>
<body>
コンテンツが入ります。
</body>
</html>
ヘッダー固定の設定について
次に、ヘッダー固定の設定について解説します。
固定する際には、thead
〜/thead
の中に、th
を入れましょう。
ヘッダー固定
デモサイトはコチラから。
シンプルな横スライドになります。
基本構造の書き方は以下のようになります。
ヘッダー固定
<!--ヘッダー固定-->
<table id="table">
<thead>
<tr>
<th>ヘッダー01</th>
<th>ヘッダー02</th>
</tr>
</thead>
<tbody>
<tr>
<td>テキスト</td>
<td>テキスト</td>
</tr>
以下省略
</tbody>
</table>
table {width: 100%;}
table , td, th {
border: 1px solid #595959;
border-collapse: collapse;
}
td, th {
padding: 1em;
box-sizing: border-box;
}
th {
color: #fff;
background-color: #FD6158;
}
/*--固定した際に、ズレが生じた場合にのみ指定--*/
#div-table {width: 50% !important;}
今回は、デモを作成した際に、ヘッダーのズレが生じてしまいました。
解決案として、$('#table')
に対して、#div-table
の横幅(width)を調整しました。
例:$('#aa')
にした場合は、#div-aa
になります。
「div-」は固定になり、ハイフン(-)の後ろはscriptで設定した任意の設定名になります。
まとめ
今回はこれで以上です。
- POINT
- Mr.StickyTableHeadersとは、テーブルのヘッダーが固定され、ついてくることを示します。
- 必要なファイルはmrstickytableheaders.min.jsの1点になります。
- こちらにデモサイトを用意しました。
スポンサーリンク
SHU
1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。
最新記事
関連記事