const itemsPerPage = 3; const items = document.querySelectorAll(".gallery-item"); const pagination = document.getElementById("pagination"); const totalPages = Math.ceil(items.length / itemsPerPage); let currentPage = 1; function showPage(page) { if (page < 1 || page > totalPages) return; currentPage = page; items.forEach((item, index) => { item.style.display = index >= (page - 1) * itemsPerPage && index < page * itemsPerPage ? "" : "none"; }); renderPagination(); } function renderPagination() { pagination.innerHTML = ""; function createItem(label, page, active = false, disabled = false) { const li = document.createElement("li"); if (active) li.classList.add("active"); if (disabled) li.classList.add("disabled"); const a = document.createElement("a"); a.href = "#"; a.textContent = label; a.addEventListener("click", function (e) { e.preventDefault(); if (!disabled) showPage(page); }); li.appendChild(a); pagination.appendChild(li); } // Prev createItem("Prev", currentPage - 1, false, currentPage === 1); // Page numbers for (let i = 1; i <= totalPages; i++) { createItem(i, i, i === currentPage); } // Next createItem("Next", currentPage + 1, false, currentPage === totalPages); } // Init showPage(1);