aboutsummaryrefslogtreecommitdiffhomepage
path: root/web/index.html
diff options
context:
space:
mode:
authorjohannst <johannst@users.noreply.github.com>2023-07-21 18:14:59 +0000
committerjohannst <johannst@users.noreply.github.com>2023-07-21 18:14:59 +0000
commitc4435063f699569dd1688966c20748f61d56683c (patch)
tree89c2710f5548b626817f00f6d8799b4ca76944d2 /web/index.html
parent1b251a08f8c10ff292d1ca9b1c580e88df483b94 (diff)
downloadnotes-c4435063f699569dd1688966c20748f61d56683c.tar.gz
notes-c4435063f699569dd1688966c20748f61d56683c.zip
deploy: a311d67451eb4734684f314f1b56021da86459a0
Diffstat (limited to 'web/index.html')
-rw-r--r--web/index.html24
1 files changed, 23 insertions, 1 deletions
diff --git a/web/index.html b/web/index.html
index 1ae3854..32879c9 100644
--- a/web/index.html
+++ b/web/index.html
@@ -88,11 +88,33 @@
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
+ <!-- Track and set sidebar scroll position -->
+ <script>
+ var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');
+ sidebarScrollbox.addEventListener('click', function(e) {
+ if (e.target.tagName === 'A') {
+ sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);
+ }
+ }, { passive: true });
+ var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
+ sessionStorage.removeItem('sidebar-scroll');
+ if (sidebarScrollTop) {
+ // preserve sidebar scroll position when navigating via links within sidebar
+ sidebarScrollbox.scrollTop = sidebarScrollTop;
+ } else {
+ // scroll sidebar to current active section when navigating via "next/previous chapter" buttons
+ var activeSection = document.querySelector('#sidebar .active');
+ if (activeSection) {
+ activeSection.scrollIntoView({ block: 'center' });
+ }
+ }
+ </script>
+
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
- <div id="menu-bar" class="menu-bar sticky bordered">
+ <div id="menu-bar" class="menu-bar sticky">
<div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>