Tengo un bloque que aparece después de desplazarme 1000 px en la página
const navShareLink = document.getElementById('navShareLink'); document.addEventListener('scroll', function(e) { if(window.scrollY > 1000 && window.innerWidth > 576) { navShareLink.style.display = "block"; } else { navShareLink.style.display = "none"; } });Pero cuando llega al final de la página donde está el pie de página, necesito que se oculte para que no se suba al pie de página.
Es fácil de hacer si la página tiene la misma altura, pero para mí puede ser 2500 px o 5000 px
¿Es posible de alguna manera contar los píxeles en orden inverso, pero no desde el principio de la página, sino digamos 300px desde el final?
En mi ejemplo, trato de obtener la altura de la página y restarle 300 px para establecer el valor deseado
const navShareLink = document.getElementById('navShareLink'); let pageHeight = document.documentElement.scrollHeight; let endPageHeight = alert(pageHeight - 300); document.addEventListener('scroll', function(e) { if(window.scrollY > 1000 && window.innerWidth > 576) { navShareLink.style.display = "block"; } else if(window.scrollY > endPageHeight && window.innerWidth > 576) { navShareLink.style.display = "none"; } else { navShareLink.style.display = "none"; } }); Pero esta línea document.documentElement.scrollHeight; no acepta un valor numérico, pero muestra este número en la página en una pestaña emergente, y en realidad nada funciona más