シンプルなフロントエンドのページング効果を実現する js

シンプルなフロントエンドのページング効果を実現する js

比較的シンプルな業務のプロジェクトもありますが、フロントエンドのページングを多用します。プラグインのサイズ制御が難しく、使用が面倒なので、自分でシンプルなものを作成します。

実装のアイデア

jQuery.slice() を使用してサブセットの間隔要素を選択し、表示と非表示を制御します。
1 ページあたりに表示される項目数が x、現在のページ番号が y、要素インデックスが 0 から始まるとすると、表示される範囲は x(y-1) から xy になります。

効果のデモンストレーション

デモコード

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>フロントエンド ページング実装デモ</title>
</head>

<本文>
    <div class="parent">
        <ul class="box" style="min-height: 147px;">

        </ul>
        <div class="ページボックス">
            <button class="page-btn prev">前のページ</button>
            <span class="page-num">1/1</span>
            <button class="page-btn next">次のページ</button>
        </div>
    </div>

    <div class="parent">
        <ul class="box2" style="min-height: 63px;">

        </ul>
        <div class="ページボックス">
            <button class="page-btn prev">前のページ</button>
            <span class="page-num">1/1</span>
            <button class="page-btn next">次のページ</button>
        </div>
    </div>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <スクリプト>
        /**
         * ページングの初期化* @param {*}eleBox ページングするコンテナ* @param {*}size ページあたりのエントリ数*/
        関数InitPagination(eleBox, サイズ) {
            var ボックス = $(eleBox)、
                子 = box.children(),
                合計 = children.length、
                ページボックス = box.next(),
                ページ番号 = pageBox.find('.page-num'),
                maxNum = !Math.ceil(合計 / サイズ) ? 1 : Math.ceil(合計 / サイズ);

            ページ番号.text('1/' + 最大数);
            子要素を非表示にする
            children.slice(0, size).show();

            pageBox.off().on('click', '.prev, .next', 関数(e) {
                var nowNum = parseInt(pageNum.text().split('/')[0]);

                $(this).hasClass('prev') の場合 {
                    今の数--;
                    (nowNum < 1) の場合 {
                        現在数 = 1
                        戻る;
                    }
                } それ以外 {
                    今の数++;
                    (現在の数値 > 最大数値) の場合 {
                        現在数 = 最大数
                        戻る;
                    }
                }

                子要素を非表示にする
                children.slice(size * (nowNum - 1), nowNum * size).show();
                pageNum.text(nowNum + '/' + maxNum);
            })
        }
        // データ書き込みをシミュレートします var box = $('.box'), box2 = $('.box2'), li = '';
        (i = 0; i < 16; i++ とします) {
            li += '<li>' + i + '</li>'
        }
        ボックス.html(li);
            box2.html(li);

        // ページネーターをインスタンス化します new InitPagination(box, 7)
        新しいInitPagination(box2, 3)
    </スクリプト>
</本文>

</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • ページングクリックコントロールを実装するネイティブJS
  • JSはフロントエンドのページング効果を実現します
  • ページングを実現するための純粋な JavaScript (2 つの方法)
  • 非常に優れたJSページング効果コード。研究する価値がある
  • js を使用して HTML テーブル ページング例を作成する (ページングを実装する js)
  • 純粋な js ページング コード (シンプルで実用的)
  • JSP ページング表示実装コード
  • div コンテンツを表示するための js ページング
  • JS で実装されたシンプルなページングの例
  • クールなページング効果を実現するネイティブJS

<<:  MYSQL マスタースレーブ レプリケーションの知識ポイントの概要

>>:  サーバーの購入と初期構築方法

推薦する

MySql ファジークエリ JSON キーワード取得ソリューションの例

目次序文オプション1:オプション2:オプション3:オプション4(最終的に採用されたオプション):要約...

XHTML 入門チュートリアル: よく使われる XHTML タグ

<br />記事と同様に、Web ページにも明確な段落と重要度の異なるタイトルが必要です...

VSCode の Remote-SSH を使用して Linux に接続し、リモート開発を行う

Remote-SSHをインストールして設定するまず VSCode を開き、拡張機能を見つけて、Rem...

Webフロントエンドスキル概要(個人の実務経験)

1. 今日、ページを作っているときに、矢印を中央に配置する効果に遭遇しました。クリック領域を大きくし...

この記事ではCSSの組み合わせセレクターの使い方を説明します

CSS 組み合わせセレクターには、単純なセレクターのさまざまな組み合わせが含まれます。 CSS3 に...

Html+CSS 描画三角形アイコン

まずはレンダリングを見てみましょう: XML/HTML コードコンテンツをクリップボードにコピー&l...

docker によってプルされたイメージがどこに保存されるかの詳細な説明

20200804追記:記事の内容に誤りがある可能性があります。他の回答を検索することもできます。 d...

無視されたDOCTYPE記述の分析

doctype もその 1 つです。 <!DOCTYPE HTML PUBLIC "...

Linuxカーネルをコンパイルする方法

1. 必要なカーネルバージョンをダウンロードする2. オペレーティングシステムにアップロードする3....

Apache クロスドメイン リソース アクセス エラーの解決策

多くの場合、大規模および中規模の Web サイトでは、静的リソース (フォント ファイル、画像など)...

IE10以下のimgタグ問題の解決方法

問題を見つける以前、簡単なデモを書いたのですが、IE10以下では動作しないことがわかりました。ここに...

検索テキストボックスがフォーカスを外れたときにテキストの位置がジャンプする問題の解決方法

検索テキストボックスにテキストを設定すると、フォーカスを外すと位置がジャンプしますコードをコピーコー...

Mysqlはフィールドスプライシングのための3つの関数を実装している

データをオペレーションにエクスポートする場合、フィールドの結合は避けられません。MySQL でこれが...

MySQL のストレージ エンジンの違いと比較

MyISAM ストレージエンジンMyISAM は ISAM ストレージ エンジンに基づいており、それ...

MySQL エラー番号 1129 の解決方法

SQLyog が MySQL に接続する際にエラー番号 1129 が発生します: mysql エラー...