勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

tableタグでスクロール時にヘッダーを残して表示する方法(jquery-decapitate)

   2024/01/13  jQuery JavaScript

テーブルタグ内で縦にスクロールした際にテーブルヘッダー部分は表示させたままテーブルボディーをスクロールさせたい。jQuery decapitateというプラグインで実装できる模様。以下に実装方法をメモ。

 

ダウンロード先

https://github.com/claymation/jquery-decapitate

 

サンプル

https://taitan916.info/sample/decapitate/

 

ソース

<?php
function makeRandStr($length) {
    $r_str = '';
    $str = array_merge(range('a', 'z'), range('0', '9'), range('A', 'Z"'));
    for ($x = 0; $x < $length; $x++) {
        $r_str .= $str[rand(0, count($str)-1)];
    }
    return $r_str;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jquery-decapitate</title>
<link href="bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="bootstrap-responsive.min.css" rel="stylesheet" type="text/css" />
<link href="jquery.decapitate.css" rel="stylesheet" type="text/css" />
<link href="styles.css" rel="stylesheet" type="text/css" />
<script src="jquery.min.js"></script>
<script src="bootstrap-affix.js"></script>
<script src="jquery.decapitate.js"></script>
<script>
    $(document).ready(function() {
        $('table').decapitate();
    });
</script>
</head>
<body>
    <table id="element-table" class="table table-bordered">
        <thead>
            <tr>
                <th>seq</th>
                <th>str</th>
                <th>tag</th>
            </tr>
        </thead>
        <tbody>
            <?php for($i = 0; $i < 100; $i++){ ?>
                <tr>
                    <td><?php echo $i;?></td>
                    <td><?php echo makeRandStr(5);?></td>
                    <td><?php echo ($i % 2 == 0) ? 'aaa': 'bbb';?></td>
                </tr>
            <?php } ?>
        </tbody>
    </table>
    </body>
</html>

 - jQuery JavaScript

  関連記事

セレクトメニュー(プルダウン)をdisplay:none;指定してもiPhoneのみ非表示にならない問題の対応方法
セレクトメニュー(プルダウン)をdisplay:none;指定してもiPhoneのみ非表示にならない問題の対応方法

セレクトメニュー(プルダウン)に対してdisplay:none;指定したりjQu ...

Lightboxで画像拡大時にダウンロードリンクを設置する方法
Lightboxで画像拡大時にダウンロードリンクを設置する方法

Lightboxで画像拡大時にダウンロードリンクを設置したいと要望を受けた。もち ...

スワイプ・フルスクリーン・サムネイル対応のjQuery画像ビューア(Fotorama)
スワイプ・フルスクリーン・サムネイル対応のjQuery画像ビューア(Fotorama)

タブレット&スマホでの閲覧が想定されているページで、スワイプ・サムネイル・フルス ...

JavaScript / jQueryで〇番目、最初、最後の要素を指定する方法
JavaScript / jQueryで〇番目、最初、最後の要素を指定する方法

jQueryでリストタグ(<li>)の〇番目、最初、最後の要素を指定 ...

タブアンダー広告をjQueryで再現する方法
タブアンダー広告をjQueryで再現する方法

サイト内のリンクをクリックすると、新しいタブもしくはウィンドウで開く広告をちょい ...