diff --git a/public/assets/scaffolding-min.js b/public/assets/scaffolding-min.js index ff9a61f..879cb7e 100644 --- a/public/assets/scaffolding-min.js +++ b/public/assets/scaffolding-min.js @@ -195,8 +195,11 @@ module.exports = { articles.forEach(article => { let a = article.target; - if (article.isIntersecting) { + // console.log("observing: ", { id: a.getAttribute("id"), intersecting: a.isIntersecting } ) + // if (article.intersectionRatio > 0) { + // console.log("Is interesecting: ", { id: article.target.getAttribute("id"), intersecting: article.isIntersecting, ratio: article.intersectionRatio } ) + if (article.isIntersecting == true) { let path = a.getAttribute("data-path"); path = "patterns/" + (a.getAttribute("data-core") == "true" ? @@ -207,12 +210,11 @@ module.exports = { let ajx = new XMLHttpRequest(); ajx.onreadystatechange = () => { if (ajx.readyState == 4) { - observer.unobserve(article.target); switch (ajx.status) { case 200: a.innerHTML = a.innerHTML + ajx.responseText; - + a.style.height = "auto" switch (a.getAttribute("data-template")) { case "pug": a.querySelectorAll("pre").forEach((aa) => { @@ -266,7 +268,6 @@ module.exports = { break; case 404: - if (typeof args.notFound == "function") args.notFound(a, path); break; @@ -274,6 +275,8 @@ module.exports = { console.log("uncaught http error", { status: ajx.status, path: a.getAttribute("data-path") }); } + a.style.height = "auto"; + if (typeof args.done == "function") args.done(a); } @@ -283,10 +286,12 @@ module.exports = { } }) - }, { threshold: 0, rootMargin: (document.body.clientHeight / 2) + "px" }) + }, { threshold: 0, rootMargin: "100%" }) observer.observe(a); + } else { + a.style.height = "auto"; } }) diff --git a/public/index.html b/public/index.html index b196475..feec188 100644 --- a/public/index.html +++ b/public/index.html @@ -44,47 +44,47 @@