From 7aa203150fc1a2ec79c681c13f0d486d531746eb Mon Sep 17 00:00:00 2001 From: George Halkiadakis Date: Sun, 12 Mar 2023 23:57:48 +0200 Subject: error pages; js system to support back/front-end --- html/assets/js/plugins/intersecting.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 html/assets/js/plugins/intersecting.js (limited to 'html/assets/js/plugins/intersecting.js') diff --git a/html/assets/js/plugins/intersecting.js b/html/assets/js/plugins/intersecting.js new file mode 100644 index 0000000..87faf61 --- /dev/null +++ b/html/assets/js/plugins/intersecting.js @@ -0,0 +1,18 @@ +$$plugins.define('intersecting', function (element, options) { + const el = document.querySelector(options.target); + + const observer = new window.IntersectionObserver(([entry]) => { + const intersectionRatio = entry.intersectionRatio.toFixed(2); + if (entry.isIntersecting) { + element.classList.add("sticky"); + } else { + element.classList.remove("sticky"); + } + }, { + root: null, + rootMargin: '-30% 0px -70%', + threshold: 0 + }) + + observer.observe(el) +}); -- cgit v1.2.3