diff --git a/script.js b/script.js index 95cdcc6..0df594e 100644 --- a/script.js +++ b/script.js @@ -53,12 +53,16 @@ Array.from(firstByLetter.entries()) }); const searchInput = document.getElementById("toc-search"); +let searchTimeout; searchInput?.addEventListener("input", (event) => { - const query = event.target.value.trim().toLowerCase(); - Array.from(tocList?.querySelectorAll("li") ?? []).forEach((item) => { - const text = item.textContent.toLowerCase(); - item.style.display = text.includes(query) ? "" : "none"; - }); + clearTimeout(searchTimeout); + searchTimeout = setTimeout(() => { + const query = event.target.value.trim().toLowerCase(); + Array.from(tocList?.querySelectorAll("li") ?? []).forEach((item) => { + const text = item.textContent.toLowerCase(); + item.style.display = text.includes(query) ? "" : "none"; + }); + }, 150); }); // OCR/formatting errors from epub conversion