From 84b2b85bf66102a7e490f67ed90e349c356fa6c3 Mon Sep 17 00:00:00 2001 From: Dome Date: Thu, 30 Apr 2026 00:14:19 +0200 Subject: [PATCH] more robust toc scroll --- assets/js/toc (Scroll-Driven Implementation).js | 5 ++++- assets/js/toc.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/assets/js/toc (Scroll-Driven Implementation).js b/assets/js/toc (Scroll-Driven Implementation).js index caf33b3..ec97792 100644 --- a/assets/js/toc (Scroll-Driven Implementation).js +++ b/assets/js/toc (Scroll-Driven Implementation).js @@ -216,7 +216,10 @@ document.addEventListener('DOMContentLoaded', function () { } var rect = article.getBoundingClientRect(); - var total = Math.max(article.offsetHeight - window.innerHeight, 1); + var total = Math.max( + Math.max(article.scrollHeight, article.offsetHeight) - window.innerHeight, + 1 + ); var progress = Math.min( Math.max((-rect.top / total) * 100, 0), diff --git a/assets/js/toc.js b/assets/js/toc.js index 8424293..ec97792 100644 --- a/assets/js/toc.js +++ b/assets/js/toc.js @@ -216,7 +216,10 @@ document.addEventListener('DOMContentLoaded', function () { } var rect = article.getBoundingClientRect(); - var total = Math.max(article.scrollHeight - window.innerHeight, 1); + var total = Math.max( + Math.max(article.scrollHeight, article.offsetHeight) - window.innerHeight, + 1 + ); var progress = Math.min( Math.max((-rect.top / total) * 100, 0),