Tengo un programa que utiliza electrones y titiriteros. Cuando el usuario se desplaza hacia abajo hasta la parte inferior de la página de la aplicación de electrones, el titiritero se activa para desplazarse hacia abajo para cargar más elementos de la lista que se cargan secuencialmente en la página de la aplicación de electrones. En una página de electrones html, el script funciona. Utiliza una función para cargar 10 elementos, agrega un detector de eventos de desplazamiento que, cuando se activa, utilizará la función antes mencionada para cargar diez más. Pero en una página de electrones html diferente, usando la misma función, cargará diez elementos diferentes, agregará el detector de eventos de desplazamiento e intentará seguir cargando diez más a medida que el usuario se desplaza. El problema es que se carga en los primeros diez y luego no se carga en los otros cuando el usuario se desplaza hacia abajo, a menos que las herramientas de desarrollo estén abiertas en la aplicación electrónica. Lo probé creando ventanas de alerta cuando el usuario se desplaza, por lo que sé que el detector de eventos se adjunta correctamente al documento. No recibo ningún error en la consola porque funciona cuando la consola está abierta.
Contenedores.js
let lastContainer, maxScrollY = getMaxScrollY(), loading = false, newPage = true, songData; //These reset after a new page has loaded const createContainers = (page, createContainer) => { const conPerCycle = 10; containers(conPerCycle, createContainer, page); // Initial Loader; Loads data, creates container, adds data to container document.addEventListener('scroll', (e) => { if (Math.floor(window.scrollY) == maxScrollY && !loading) { newPage = false; containers(conPerCycle, createContainer, page); // Triggered Loader; Loads data, creates container, adds data to container } }); };Math.floor(window.scrollY) no era igual a maxScrollY , era un píxel menos porque estaba usando Math.floor , lo cambié a Math.ceil y comenzó a funcionar, ¡caso cerrado!