Estoy tratando de mostrar un anuncio cuando el usuario se desplaza menos del 57% pero intenta cerrar/cambiar la pestaña del navegador. Este es todo mi JS hasta ahora. Y también, ¿hay alguna manera de tener 1 iteración del modal dado, y solo para mostrarlo en la actualización de la página? Probé con window.onbeforeunload pero parece que no funciona.
// Modal window.addEventListener("scroll", (e) => { let rootElement = document.documentElement; let scrollTop = rootElement.scrollTop; let pageHeight = rootElement.scrollHeight; let getPercent = (scrollTop / (pageHeight - rootElement.clientHeight)) * 100; if (getPercent >= 57) { document.querySelector(".modal").style.display = "block"; } console.log(getPercent); window.onclick = function (e) { if (e.target == document.querySelector(".modal")) { document.querySelector(".modal").style.display = "none"; } }; }); document.getElementById("close").addEventListener("click", (e) => { e.preventDefault(); document.querySelector(".modal").style.display = "none"; }); function showAd() { return (document.querySelector(".modal").style.display = "block"); }