Aquí está la lógica del desplazamiento infinito desde la parte superior hasta la parte inferior de la pantalla:
height = function (elem) { elem = elem[0] || elem; if (isNaN(elem.offsetHeight)) { return elem.document.documentElement.clientHeight; } else { return elem.offsetHeight; } }; offsetTop = function (elem) { if (!elem[0].getBoundingClientRect || elem.css('none')) { return; } return elem[0].getBoundingClientRect().top + pageYOffset(elem); }; pageYOffset = function (elem) { elem = elem[0] || elem; if (isNaN(window.pageYOffset)) { return elem.document.documentElement.scrollTop; } else { return elem.ownerDocument.defaultView.pageYOffset; } } handler = function () { if (container === windowElement) { containerBottom = height(container) + pageYOffset(container[0].document.documentElement); console.log('height(elem', height(elem)) elementBottom = offsetTop(elem) + height(elem); } else { containerBottom = height(container); containerTopOffset = 0; if (offsetTop(container) !== void 0) { containerTopOffset = offsetTop(container); } elementBottom = offsetTop(elem) - containerTopOffset + height(elem); } if (useDocumentBottom) { elementBottom = height((elem[0].ownerDocument || elem[0].document).documentElement); } remaining = elementBottom - containerBottom; shouldScroll = remaining <= height(container) * scrollDistance + 1; }¿Cómo puedo modificar mi código para realizar un desplazamiento infinito correctamente desde la parte inferior hasta la parte superior de la pantalla?
Intento hacer esto, cambio la función hendler, elimino todo mi código y hago esto
elemenTop = pageYOffset(container[0].document.documentElement) remaining = elemenTop - 250; shouldScroll = remaining <= height(container) * scrollDistance + 1;Cuando prueba el módulo de desplazamiento infinito. si desea usar la barra de desplazamiento para ir directamente a la parte inferior de la pantalla, sigue cargando los datos hasta que no tiene datos para cargar. Con mi modificación, cuando voy directamente a la parte superior de la pantalla con la barra de desplazamiento, no funciona. No sigo cargando mis datos, se detiene para cargar los datos y tengo que desplazarme para que funcione nuevamente.
No debería tener que desplazarme para que funcione de nuevo cuando estoy en la parte superior, debería desplazarse solo ya que tengo todos los datos cargados.