ページネーション [1.0.0]

概要

ページネーションを管理・描画するクラス。
前頁・次頁ボタンおよびページ番号リンクや、現在の表示範囲を自動更新。

head内に追記

<script charset="UTF-8" src="pagination.js"></script>

使用例

const pagination = new Pagination(
  document.getElementsByClassName('controls'),
  document.getElementById('info'),
  1234,
  100,
  3,
  (page) => { console.log(`ページ${page}`, page); }
);

コンストラクタ

const P = new Pagination(controlsSelector, ?infoSelector, ?totalItems, ?itemsPerPage, ?currentPage, ?callbackClickPage);
controlsSelector (HTMLElement[])
ページ操作UIを表示する要素
infoSelector (?HTMLElement[])
件数範囲を表示する要素
totalItems (?number)
総件数
itemsPerPage (?number)
1ページに表示する件数
currentPage (?number)
表示させるページ番号
callbackClickPage (?function(number))
ページ変更時のコールバック。ページ番号を渡す

コールバック:ページ番号をクリックしたときのコールバック

P.onPageChange = (page) => {}
page (number)
ページ番号

メソッド:指定したページ番号へ移動する

P.goToPage(page);
page (number)
遷移先のページ番号

メソッド:データをリセットする

P.reset(totalItems, itemsPerPage, ?currentPage);
totalItems (number)
総件数
itemsPerPage (number)
1ページに表示する件数
currentPage (?number)
表示させるページ番号

メソッド:ページ操作UIを表示する要素を追加

P.addControlsEl(El);
El (HTMLElement[])
ページ操作UIを表示する要素

メソッド:ページ操作UIを表示する要素を削除

P.removeControlsEl(idx);
idx (number)
削除したいインデックス番号

メソッド:ページ操作UIを表示する要素を取得

result = P.getControlsEl();
result (HTMLElement[])
ページ操作UIを表示する要素

メソッド:件数範囲を表示する要素を追加

P.addInfoEl(El);
El (HTMLElement[])
件数範囲を表示する要素

メソッド:件数範囲を表示する要素を削除

P.removeInfoEl(idx);
idx (number)
削除したいインデックス番号

メソッド:現在の件数範囲を表示する要素を取得

result = P.getInfoEl();
result (HTMLElement[])
件数範囲を表示する要素

デモ

全件数
1ページに表示する件数
表示させたいページ
結果
件数範囲を表示させたいスペース
ページ操作UIを表示させたいスペース
ここに一覧を表示させたりする
ページ操作UIを表示させたいスペース