Me pregunto cómo puedo implementar más datos en el desplazamiento solo si la carga div es visible.
Por lo general, buscamos la altura de la página y la altura de desplazamiento, para ver si necesitamos cargar más datos. pero el siguiente ejemplo es poco complicado entonces eso.
La siguiente imagen es un ejemplo perfecto. Hay dos div .loading en el cuadro desplegable. Cuando el usuario desplaza el contenido, lo que sea visible debe comenzar a cargar más datos para él.
Entonces, ¿cómo puedo saber si .loading div es visible para el usuario o no? Entonces puedo comenzar a cargar datos solo para ese div.
fuente
new_element.hide().appendTo('.your_div').fadeIn(); $(window).scrollTop($(window).scrollTop()-1);
primera línea agrega elementos de manera agradable, la segunda asegura que su función nunca se detiene en la parte inferior de la página.var end = $("#BottomThing").offset().top; var viewEnd = $(window).scrollTop() + $(window).height(); var distance = end - viewEnd; if (distance < 300) // do load
¿Has oído hablar del complemento jQuery Waypoint ?
A continuación se muestra la manera simple de llamar a un complemento de waypoints y hacer que la página cargue más contenido una vez que llegue al final del desplazamiento:
fuente
Aquí hay un ejemplo:
fuente
La respuesta aceptada de esta pregunta tiene algún problema con Chrome cuando la ventana se acerca a un valor> 100%. Aquí está el código recomendado por los desarrolladores de Chrome como parte de un error que había generado en el mismo.
Para referencia:
Pregunta SO relacionada
Error de Chrome
fuente
Si no todos sus documentos se desplazan, digamos, cuando tiene un desplazamiento
div
dentro del documento, entonces las soluciones anteriores no funcionarán sin adaptaciones. Aquí se explica cómo verificar si la barra de desplazamiento del div ha tocado fondo:fuente
Pasé algún tiempo tratando de encontrar una buena función para envolver una solución. De todos modos, terminé con esto, que creo que es una mejor solución al cargar contenido múltiple en una sola página o en un sitio.
Función:
Luego puede llamar a la función usando la ventana en el desplazamiento (por ejemplo, también puede vincularlo a un clic, etc., como también lo hago, de ahí la función):
Usar:
Este enfoque también debería funcionar para el desplazamiento de divs, etc. Espero que ayude, en la pregunta anterior, podría usar este enfoque para cargar su contenido en secciones, tal vez agregar y, por lo tanto, regatear todos esos datos de imagen en lugar de alimentación masiva.
Utilicé este enfoque para reducir la sobrecarga en https://www.taxformcalculator.com . Se acabó el truco, si miras el sitio e inspeccionas el elemento, etc., puedes ver el impacto en la carga de la página en Chrome (como ejemplo).
fuente
Mejora en la respuesta @deepakssn. Existe la posibilidad de que desee que los datos se carguen un poco antes de que realmente avancemos hacia la parte inferior .
[var scrollLoad] se usa para bloquear la llamada hasta que se agreguen datos nuevos.
Espero que esto ayude.
fuente
Su pregunta específica es sobre la carga de datos cuando aparece un div , y no cuando el usuario llega al final de la página.
Aquí está la mejor respuesta a su pregunta: https://stackoverflow.com/a/33979503/3024226
fuente