私は16 div要素を含むコンテナをお互いに積み重ねています。私は表示されたdiv要素の数を1ページあたり4つに制限し、コンテンツの下に改ページを表示したいと思います。新しいdiv要素が将来htmlファイルに追加されるので、ページ番号に新しい数値が設定されますが、ページあたりの表示要素数は4に制限する必要があります。純粋なJavascriptソリューションを実装しようとしています。 HTMLのボタンJSを使ってdivの配列をhtmlファイルに埋め込む
(私はdiv要素を含めておりませんが、私が言ったように、彼らは16であり、「.events-section__mainイベント」のクラス名を運ぶ)::私がこれまで試したものです
<input type="button" id="first" onclick="firstPage()" value="first" />
<input type="button" id="next" onclick="nextPage()" value="next" />
<input type="button" id="previous" onclick="previousPage()" value="previous" />
<input type="button" id="last" onclick="lastPage()" value="last" />
JS:
var pageList = new Array();
var currentPage = 1;
var numberPerPage = 4;
var numberOfPages = 0;
var events = Array.prototype.slice.call(document.querySelectorAll(".events-section__main-event"));
function getNumberOfPages() {
return Math.ceil(events.length/numberPerPage);
}
function nextPage() {
currentPage += 1;
loadList();
}
function previousPage() {
currentPage -= 1;
loadList();
}
function firstPage() {
currentPage = 1;
loadList();
}
function lastPage() {
currentPage = numberOfPages;
loadList();
}
function loadList() {
var begin = ((currentPage - 1) * numberPerPage);
var end = begin + numberPerPage;
pageList = events.slice(begin, end);
drawList();
check();
}
function drawList() {
for (i = 0; i < pageList.length; i++) {
pageList[i].classList.remove("events-section__main-event");
pageList[i].classList.add("not-visible");
}
}
function check() {
document.getElementById("next").disabled = currentPage == numberOfPages ? true : false;
document.getElementById("previous").disabled = currentPage == 1 ? true : false;
document.getElementById("first").disabled = currentPage == 1 ? true : false;
document.getElementById("last").disabled = currentPage == numberOfPages ? true : false;
}
function load() {
loadList();
}
window.onload = load;
私は示そうとHI display:noneプロパティを持つcssクラスを使用する要素。私は半分そこにいるようだが、ボタンをクリックするとまだ要素が台無しになっていて、ただ消えるだけだ。
@Amberlamps。コードサンプルは、問題の説明と共にきれいに表示されます。 – IsaaK08