Scroll the title element in the tab widget into view after switching

This commit is contained in:
Yannik Rödel 2022-06-12 19:19:30 +02:00
parent 536f3932c4
commit 97bef91387
2 changed files with 22 additions and 0 deletions

20
assets/main.js Normal file
View file

@ -0,0 +1,20 @@
for (const tabLinkElement of document.querySelectorAll(
'h2 + .tabs-widget > a[href]'
)) {
const titleElement = tabLinkElement.parentElement.previousElementSibling;
tabLinkElement.addEventListener('click', (event) => {
event.preventDefault();
const hash = tabLinkElement.getAttribute('href');
if (history.replaceState) {
// This is a weird hack to make sure that the :target selectors actually
// get updated:
// https://github.com/whatwg/html/issues/639#issuecomment-252716663
history.replaceState(null, '', hash);
history.pushState(null, '', hash);
history.back();
titleElement.scrollIntoView(true);
} else {
location.hash = hash;
}
});
}

View file

@ -100,5 +100,7 @@
</div>
</div>
</footer>
<script src="/assets/main.js" lang="text/javascript"></script>
</body>
</html>