Javascript

BootstrapとJavascriptを使用したページネーションのサンプル

今回はBootstrapとJavastrapを使用したページネーションを実装したサンプルコードについて説明していきたいと思います。

具体的にどういう機能を実装するのかというと、

・IDとContentからなるテーブルがある

・1ページにつき20個表示する

・一番下のページネーションがある

という感じになります。

ただしページネーションのロジックに重点を置いたので、フロントサイドだけの実装になります。

サンプルコード

さっそくですが、まずは全コードを載せます。

index.htmlのみです。

このコードを実行すると以下のようなページが表示されます。

肝心のページネーション機能はどうなっているかというと、

例えば「次へ」ボタンを押して10ページ目に遷移してみましょう。

1ページ目では無かった「前へ」ボタンが出現しました。

しっかりとページネーションのロジックが動作していることがわかります。

また、最後のページに行くと「次へ」ボタンがなくなります。

ここでもしっかりとページネーションのロジックが動作しています。

サンプルコードの解説

Bootstrapを使えるようにする

まずはBootstrapを使えるようにしましょう。

<head>内の「Bootstrap CSS」と<body>一番下の「jQuery first, then Tether, then Bootstrap JS.」に書いてあるコードで使えるようになります。

直接関係ありませんが、<head>内の「Required meta tags」も忘れないでくださいね。

Bootstrapを直接インストールする方法でも大丈夫です。

ページネーションを埋め込む準備をする

Bootstrapをインストールしたあとは、ページネーションを埋め込む準備をします。

<body>内に

コンテンツを埋め込むための<table>タグと

ページネーションを埋め込むために<nav>タグを作ります。

IDで識別できるようにするために、それぞれcontainerとpaginationという名前を振り分けます。

Javascriptでロジックを書く

ページ数を取得する

ページ数はURLにpageに関するパラメータを含めることで情報を取得することにしました。

具体的には、ページネーションを実装したURLを

https://ドメイン/pagination

とすると、

https://ドメイン/pagination?page=20

みたいな感じです。

URLからpageに関するパラメータを取得するために、getQueryParam()という関数を実装して使います。

コンテンツを生成(テスト用)

コンテンツは本来ならサーバーサイドでAPIを作るなりして取得するので

この部分はサーバーとの通信のロジックを書くところなのですが、今回は簡単のためにテスト用のコンテンツを自動生成して出力することにします。

ページネーション部分を生成

最後は最も重要なページネーションの部分です。

ここの動作を理解していれば、新しくページを作るときに自分好みにロジックを応用したりできるので覚えておくといいです。

現在のページが最初(1ページ)と最後のときは、それぞれ「前へ」ボタンと「次へ」ボタンが不要なのでif文でボタンを表示しないようにします。