Files
谢宇宁andClaude Opus 5.5 3639d2184a Initial commit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:47:17 +07:00

44 lines
1.2 KiB
JavaScript

(function () {
if (window.__paginationJumpBound) {
return;
}
window.__paginationJumpBound = true;
function clampPage(value, total) {
var page = parseInt(value, 10);
if (!page || page < 1) {
return 0;
}
if (total > 0 && page > total) {
return total;
}
return page;
}
function buildPageURL(page) {
var url = new URL(window.location.href);
url.pathname = url.pathname.replace(/\/page\/\d+\/?$/, "").replace(/\/$/, "");
url.searchParams.delete("page");
if (page > 1) url.pathname += "/page/" + page;
return url.pathname + url.search + url.hash;
}
document.addEventListener("submit", function (event) {
var form = event.target;
if (!form || !form.matches || !form.matches("[data-pagination-jump]")) {
return;
}
event.preventDefault();
var nav = form.closest("[data-pagination]");
var input = form.querySelector(".pagination-jump-input");
var total = nav ? parseInt(nav.getAttribute("data-total"), 10) : 0;
var current = nav ? parseInt(nav.getAttribute("data-page"), 10) : 0;
var page = clampPage(input && input.value, total);
if (!page || page === current) {
return;
}
window.location.href = buildPageURL(page);
});
})();