Higlight active TOC entry
This commit is contained in:
parent
e3c3def763
commit
6ad6fe864c
2 changed files with 17 additions and 4 deletions
15
script.js
15
script.js
|
|
@ -344,13 +344,20 @@ tocList?.addEventListener("click", (e) => {
|
|||
}
|
||||
});
|
||||
|
||||
// scroll TOC item into view when navigating via hash
|
||||
window.addEventListener("hashchange", () => {
|
||||
// highlight active TOC entry based on hash
|
||||
const updateActiveTocEntry = () => {
|
||||
const id = location.hash.slice(1);
|
||||
tocList?.querySelector("a.active")?.classList.remove("active");
|
||||
if (id) {
|
||||
tocList?.querySelector(`a[href="#${id}"]`)?.scrollIntoView({ block: "nearest" });
|
||||
const link = tocList?.querySelector(`a[href="#${id}"]`);
|
||||
link?.classList.add("active");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
window.addEventListener("hashchange", updateActiveTocEntry);
|
||||
if (location.hash) {
|
||||
updateActiveTocEntry();
|
||||
}
|
||||
|
||||
// Entry popup preview on hover
|
||||
const popup = document.createElement("div");
|
||||
|
|
|
|||
|
|
@ -151,6 +151,12 @@ body {
|
|||
color: var(--accent-deep);
|
||||
}
|
||||
|
||||
.toc-list a.active {
|
||||
background: rgba(182, 82, 47, 0.22);
|
||||
color: var(--accent-deep);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.content {
|
||||
background: rgba(255, 255, 255, 0.6);
|
||||
border-radius: clamp(12px, 3vw, 24px);
|
||||
|
|
|
|||
Loading…
Reference in a new issue