我正在嘗試創建一種方法來顯示每個頁面的元素數量,例如:
第1頁:327的1-5個元素
第2頁:327的6-10個元素
……
現在我有機會進入 nextPage、previousPage、lastPage、firstPage,還可以選擇每頁的元素數量(例如 5、10、20)(this.elementsForPage)
我試圖以這種方式創建:
if(action === "next"){
this.firstElement = parameters.length
this.lastElement = parameters.length
}
if(action === "previous"){
this.firstElement -= parameters.length
this.lastElement -= parameters.length
}
if(action === "last"){
this.firstElement = this.totalElements - this.parameters.length
this.lastElement = this.totalElements
}
if(action === "first"){
this.firstElement = 1;
this.lastElement = parameters.length
}
如果我制作下一個,上一個和第一個,這將有效。但如果我進入最后一頁,它就不起作用了。
這就是為什么如果我轉到最后一頁并且它只有 2 個結果,例如,我會有
第一個元素 = 327 - 2 = 325
最后一個元素 = 327
但如果我繼續“以前”,它很重要:
第一個元素 = 325 - 5 = 320
最后一個元素 = 327 - 5 = 322
這是錯誤的,因為顯示的是 5 個結果而不是 2 個。
在您看來,我該如何解決這些問題?
uj5u.com熱心網友回復:
這個函式
function getCurrentPageItems(currentPage,perPage,total)
{
currentPage = currentPage - 1;
let elStart = currentPage*perPage 1;
let elEnd = elStart perPage - 1;
elEnd = Math.min(Math.max(elEnd, 1), total);
console.log(`Page ${(currentPage 1)}: ${elStart}-${elEnd} of ${total}`);
return [elEnd,elEnd];
}
getCurrentPageItems(1,5,327);
getCurrentPageItems(2,5,327);
getCurrentPageItems(65,5,327);
getCurrentPageItems(66,5,327);
console.log(327/5);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/490612.html
標籤:javascript 有角度的
