SHU BLOG

BLOG NEWS ブログ

TITLE

【jQuery】テーブルのヘッダーを固定、Mr.StickyTableHeadersの使い方!!

SHU[シュウ]

1991年生まれ九州の宮崎県育ち
高校卒業後、愛知県で自動車関係の
お仕事に5年間勤め、WEB業界に
転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画
基本インドアです!笑

シュウ
シュウ
今回は【jQuery】テーブルのヘッダーを固定、Mr.StickyTableHeadersの使い方!!の解説になります!

こんな方に読んでほしい

  • jQueryを学び始めた方へ
  • プラグインのMr.StickyTableHeadersを使ってテーブルのヘッダーを固定したい方向け
  • 今回はMr.StickyTableHeadersについて解説しております。

今回は、Mr.StickyTableHeadersについての解説になります。
Mr.StickyTableHeaders」になりますが、今でも簡単で使いやすいプラグインになっております。

イメージ図は上記のようになります。
「Mr.StickyTableHeaders」を使うことによってテーブルのヘッダー(th)が固定され、スクロールと同時にヘッダーがついてきます。

Mr.StickyTableHeadersについて

Mr.StickyTableHeadersについて

Mr.StickyTableHeadersとは、テーブルのヘッダーが固定され、ついてくることを示します。
jQueryが苦手な方でも問題ありません。
まずは下記のサイトから「Mr.StickyTableHeaders」をダウンロードしましょう。

Mr.StickyTableHeadersにアクセス
1https://github.com/MatchingRadar/Mr.StickyTableHeaders
「Code」ボタンをクリック
2
「Download ZIP」ボタンをクリック
3

必要なファイルについて

ダウンロード後に必要なファイルについて解説していきます。
まずは、ファイル名の「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に関する様々な情報を発信しています。

最新記事

関連記事

オススメ記事

月別アーカイブ

page_top