diff options
author | Jeffrey Tse <jeffreytse.mail@gmail.com> | 2019-09-24 15:19:05 +0800 |
---|---|---|
committer | Jeffrey Tse <jeffreytse.mail@gmail.com> | 2019-09-24 15:19:05 +0800 |
commit | bc91aa6b7360bf520fd7e0f7a61a934c4d20ea33 (patch) | |
tree | dfe8ec88056fd2283f12e0656d32e056bd86cc6a /_includes/sidebar | |
parent | 4b70145bedae98e8dc2d34b8e83eca0c669bad87 (diff) |
fix: corrcet hash locate, menu item hilight issues
Diffstat (limited to '_includes/sidebar')
-rw-r--r-- | _includes/sidebar/article-menu.html | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/_includes/sidebar/article-menu.html b/_includes/sidebar/article-menu.html index 7f83160..c4286b1 100644 --- a/_includes/sidebar/article-menu.html +++ b/_includes/sidebar/article-menu.html @@ -36,9 +36,12 @@ var changed = true; for (var i = headings.length - 1; i >= 0; i--) { var h = headings[i]; - var clientRect = h.getBoundingClientRect(); - var headerHeight = header.offsetTop + header.offsetHeight + 20; - if (clientRect.top <= headerHeight) { + var headingRect = h.getBoundingClientRect(); + var headerRect = header.getBoundingClientRect(); + var headerTop = Math.floor(headerRect.top); + var headerHeight = Math.floor(headerRect.height); + var headerHeight = headerTop + headerHeight + 20; + if (headingRect.top <= headerHeight) { var id = 'h-' + h.getAttribute('id'); var curActive = menu.querySelector('a[href="#' + id + '"]'); if (curActive) { |