diff options
| author | Serghei Iakovlev <egrep@protonmail.ch> | 2022-07-24 13:05:46 +0200 |
|---|---|---|
| committer | Serghei Iakovlev <egrep@protonmail.ch> | 2022-07-24 13:05:46 +0200 |
| commit | 6d842eefd0831c89f3be60e85dba91304fd3d00d (patch) | |
| tree | 04a246f5657986e560b2402073a5e8ecf2c82b7e /assets/js/ed.js | |
| parent | 6be75b5d6ac6ea9e26569bb553a67218e75d2ae2 (diff) | |
| download | gohugo-theme-ed-6d842eefd0831c89f3be60e85dba91304fd3d00d.tar.gz | |
Provide 'Back to top' functionality
Diffstat (limited to 'assets/js/ed.js')
| -rw-r--r-- | assets/js/ed.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/assets/js/ed.js b/assets/js/ed.js new file mode 100644 index 0000000..dbea865 --- /dev/null +++ b/assets/js/ed.js @@ -0,0 +1,14 @@ +document.addEventListener('DOMContentLoaded', function () { + // 'Back to top' logic + const intersectionObserver = new IntersectionObserver(function(entries) { + const topBtn = document.querySelector('.top-of-site-link'); + if (topBtn === null) return; + + topBtn.dataset.visible = entries[0].boundingClientRect.y < 0; + }); + + const topAnchor = document.querySelector('#top-of-site-anchor'); + if (topAnchor !== null) { + intersectionObserver.observe(topAnchor); + } +}); |
