修改前
if (getFilteredProducts().length === 0) {
info.textContent = `第 ${page} 頁`;
function updateControls() {}
page -= 1;
render();
page += 1;
render();
修改後
function getTotalPages() {
return Math.ceil(getFilteredProducts().length / pageSize);
}
const totalPages = getTotalPages();
if (totalPages === 0) {
page = 0;
page = Math.min(Math.max(page, 1), totalPages);
info.textContent = `第 ${page} / ${totalPages} 頁`;
function updateControls() {
const totalPages = getTotalPages();
prev.disabled = totalPages === 0 || page <= 1;
next.disabled = totalPages === 0 || page >= totalPages;
}
if (page > 1) {
page -= 1;
render();
}
if (page < getTotalPages()) {
page += 1;
render();
}