fix(article): footnote reference does not work

closes https://github.com/CaiJimmy/hugo-theme-stack/issues/632
This commit is contained in:
Jimmy Cai 2022-07-28 16:48:37 +00:00
parent b02569add9
commit 655b5102c4

View File

@ -21,12 +21,15 @@ function setupSmoothAnchors() {
aElement.addEventListener("click", clickEvent => {
clickEvent.preventDefault();
let targetId = aElement.getAttribute("href").substring(1);
// The replace done on ':' is here for footnotes, as this character would otherwise interfere when used as a CSS selector.
let target = document.getElementById(targetId.replace(":", "\\:")) as HTMLElement;
const targetId = aElement.getAttribute("href").substring(1),
target = document.getElementById(targetId) as HTMLElement,
offset = target.getBoundingClientRect().top - document.documentElement.getBoundingClientRect().top;
window.history.pushState({}, "", aElement.getAttribute("href"));
scrollTo({ top: target.offsetTop, behavior: "smooth" });
scrollTo({
top: offset,
behavior: "smooth"
});
});
});
}