PHP初心者のため、PHPでデータを呼び起こしている場合のもっと見るボタンの設置の仕方がわかりません。
html
1<div class="inner"> 2<?php 3if(!empty($pageData->privilege_list)) { 4 foreach ($pageData->privilege_list as $v) { 5 6 for ($i = 0; $i < 9; $i++) { 7 if ($keyArray[$i] == $businessCodePrivilege) { 8 9 } 10 } 11// 当てはまらない場合 12 <?php 13 } 14 } else { 15 echo "<p>申し訳ございません。情報はありません。</p>"; 16 } 17?> 18 </div>
上記のようにリストを生成しております。
これを5件出してあとは非表示→もっと見るボタンで表示(できれば非表示もつけたい)
その場合はどのようにjqueryを設定すれば良いのでしょうか。
ご教授お願いいたします。
ご自身で試されたコードを質問文に追記し、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。
ありがとうございます。
調べながらですが、以下のコードを参考にしています。
const defaultDispCnt = 5; // 初期表示件数
const addDispCnt = 3; // 追加表示件数
(function ($) {
$(function () {
let maxDispCnt = 0; // 最大表示件数
let currentDispCnt = 0; // 現在の表示件数
let tileList = $('#tileList').children('li'); // 一覧のli子要素をすべて取得
// 一覧の初期表示
$(tileList).each(function (i, elem) {
// 初期表示件数のみ表示
if (i < defaultDispCnt) {
$(this).show();
currentDispCnt++;
}
maxDispCnt++;
// もっと見るボタンを表示
let displayed = 0;
if (maxDispCnt > currentDispCnt && !displayed) {
$('.readMoreBtn').show();
displayed = 1;
}
});
// もっと見るボタンクリックイベント
$('.readMoreBtn').click(function () {
let newCount = currentDispCnt + addDispCnt; // 新しく表示する件数
// 新しく表示する件数のみ表示
$(tileList).each(function (i, elem) {
if (currentDispCnt <= i && i < newCount) {
$(this).show();
currentDispCnt++;
}
});
// もっと見るボタンを非表示
if (maxDispCnt <= newCount) {
$(this).hide();
}
return false;
});
});
}(jQuery));
ただこちらは、HTMLで作られたコードを元に作っておりますが、
今回はPHPのデータリストを5件表示して、もっと見るボタンで3件ずつ表示していくので
その部分がどのように設置していいか初心者のためわかりません。
(質問文は編集できます)この「質問への追記・修正の依頼」の部分はデフォルトで表示されませんので、質問本文に追記することをお勧めします。
タグに「PHP」を追加しておいてください。
回答1件
あなたの回答
tips
プレビュー