summaryrefslogtreecommitdiff
path: root/_includes/extensions/hashlocate.html
diff options
context:
space:
mode:
Diffstat (limited to '_includes/extensions/hashlocate.html')
-rw-r--r--_includes/extensions/hashlocate.html17
1 files changed, 10 insertions, 7 deletions
diff --git a/_includes/extensions/hashlocate.html b/_includes/extensions/hashlocate.html
index 6faf553..5194273 100644
--- a/_includes/extensions/hashlocate.html
+++ b/_includes/extensions/hashlocate.html
@@ -7,18 +7,21 @@
return;
}
- var header = document.querySelector('header');
+ var header = document.querySelector('header.site-header');
+ var headerRect = header.getBoundingClientRect();
+ var headerTop = Math.floor(headerRect.top);
+ var headerHeight = Math.floor(headerRect.height);
var scrollPos = getScrollPos();
- var offsetY = element.offsetTop - (header.offsetTop + header.offsetHeight + 20);
+ var offsetY = element.offsetTop - (headerTop + headerHeight + 20);
- if (offsetY == scrollPos.y) {
+ if (offsetY == scrollPos.y) {
return;
}
- if (header.offsetTop == 0 && offsetY > scrollPos.y) {
- offsetY += header.offsetHeight;
- } else if (header.offsetTop < 0 && offsetY < scrollPos.y) {
- offsetY -= header.offsetHeight;
+ if (headerTop == 0 && offsetY > scrollPos.y) {
+ offsetY += headerHeight + 2;
+ } else if (headerTop < 0 && offsetY < scrollPos.y) {
+ offsetY -= headerHeight - 2;
}
smoothScrollTo(offsetY);