JavaScript での単純なページ付け

Anika Tabassum Era 2023年10月12日
  1. Web ページをページ付けするカスタムページ付け機能
  2. Jquery プラグイン pagination.js を使用して Web ページを閲覧する
JavaScript での単純なページ付け

JavaScript では、特定のアクティビティを抽出するために、優先する関数スコープを定義することがよくあります。JavaScript のページ付けは、複数の関数を組み合わせて手動でスクリプト化できます。

ページからページへとサーフィンするためのページ付けを作成する方法を示します。それを操作するための基本的なページ付け関数を作成します。また、コーディングエクスペリエンスを容易にする jquery プラグイン pagination.js を使用した別の例も示します。

Web ページをページ付けするカスタムページ付け機能

最初に、データを持つオブジェクトを宣言します。次のステップは、各データと 1 ページでプレビューする量をカウントすることです。このプロセスで、Web ページの合計ページ数も取得します。

totNumPages 関数が総ページ数を計算した後、prevnext を押す基本関数を作成します。

コードブロックをチェックして、明確な概念を持ってみましょう。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
<div id="TableList"></div>
<a href="javascript:prevPage()" id="btn_prev">Prev</a>&nbsp;
<a href="javascript:nextPage()" id="btn_next">Next</a><br>
page: <span id="page"></span>
</body>
</html>
var obj = [
  {number: 'Number 1'}, {number: 'Number 2'}, {number: 'Number 3'},
  {number: 'Number 4'}, {number: 'Number 5'}, {number: 'Number 6'},
  {number: 'Number 7'}, {number: 'Number 8'}, {number: 'Number 9'},
  {number: 'Number 10'}, {number: 'Number 11'}, {number: 'Number 12'},
  {number: 'Number 13'}, {number: 'Number 14'}, {number: 'Number 15'}
];
var current_page = 1;
var obj_per_page = 3;
function totNumPages() {
  return Math.ceil(obj.length / obj_per_page);
}

function prevPage() {
  if (current_page > 1) {
    current_page--;
    change(current_page);
  }
}
function nextPage() {
  if (current_page < totNumPages()) {
    current_page++;
    change(current_page);
  }
}
function change(page) {
  var btn_next = document.getElementById('btn_next');
  var btn_prev = document.getElementById('btn_prev');
  var listing_table = document.getElementById('TableList');
  var page_span = document.getElementById('page');
  if (page < 1) page = 1;
  if (page > totNumPages()) page = totNumPages();
  listing_table.innerHTML = '';
  for (var i = (page - 1) * obj_per_page; i < (page * obj_per_page); i++) {
    listing_table.innerHTML += obj[i].number + '<br>';
  }
  page_span.innerHTML = page;
  if (page == 1) {
    btn_prev.style.visibility = 'hidden';
  } else {
    btn_prev.style.visibility = 'visible';
  }
  if (page == totNumPages()) {
    btn_next.style.visibility = 'hidden';
  } else {
    btn_next.style.visibility = 'visible';
  }
}
window.onload = function() {
  change(1);
};

出力:

custom_pagination

この場合、change 関数は、ページごとのナビゲーションとオブジェクトの制限を視覚化する上で重要な役割を果たします。また、最初と最後のページの prevnext のクリック可能ファイルの表示。ページが読み込まれるたび、および再読み込みされると、デフォルトのページは page 1 に設定されます。

Jquery プラグイン pagination.js を使用して Web ページを閲覧する

Jquery プラグインにより、Web ページにページ付けを簡単に実装できるようになりました。プラグインの CDNheader セクションに追加する必要があります。これにより、事前定義された規則を簡単にインポートして、ページ付けの作成に取り組むことができます。

以下の例では、datasource を定義します。datasource は、arrayobjectURLJSON などの形式で初期化することができます。このプラグインでは、複数のパラメータが使えます。例えば、pageSize:10 を追加することで、ページごとにエントリーを選択することができます。

最初にコードブロックを掘り下げてみましょう。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>pagination example</title>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.1.4/pagination.min.js"></script>

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.1.4/pagination.css"/>
</head>
<body>

<div>
    <section>
        <div id="container"></div>
        <div id="pagination"></div>
    </section>
</div>

<script>
    $(function () {
        let container = $('#pagination');
        container.pagination({
            dataSource: [
{number: "Number 1"},
{number: "Number 2"},
{number: "Number 3"},
{number: "Number 4"},
{number: "Number 5"},
{number: "Number 6"},
{number: "Number 7"},
{number: "Number 8"},
{number: "Number 9"},
{number: "Number 10"},
{number: "Number 11"},
{number: "Number 12"},
{number: "Number 13"},
{number: "Number 14"},
{number: "Number 15"},
{number: "Number 16"},
{number: "Number 17"},
            ],
            pageSize: 5,
            callback: function (data, pagination) {
                var dataHtml = '<ul>';

                $.each(data, function (index, item) {
                    dataHtml += '<li>' + item.number + '</li>';
                });

                dataHtml += '</ul>';

                $("#container").html(dataHtml);
            }
        })
    })
</script>
</body>
</html>

出力:

pagination_plugin_jquery

コードが小さくなり、関数を生成するための労力が軽減されます。必要なのは、指定されたパラメーターを定義するキーワードまたはコンストラクターに焦点を合わせて、ナビゲーションをページからページにすばやく変更することです。

プラグインの詳細な説明と使用法については、こちらのドキュメントを確認してください。

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook