Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

164
Vistas
Cómo cargar el contenido de la página web según el desplazamiento del usuario

Cómo cargar el contenido mientras el usuario se desplaza por la página web. ¿Cómo implementar esto?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

En términos generales, necesitará tener algún tipo de estructura como esta

 ....first page of content... ....first page of content... ....first page of content... ....first page of content... ....first page of content... ....first page of content... ....first page of content... <div id="placeHolder"></div>

Luego, deberá detectar cuándo se está acercando al final de la página y obtener más datos.

 $(window).scroll(function(){ if ($(window).scrollTop() == $(document).height() - $(window).height()){ AddMoreContent(); } }); function AddMoreContent(){ $.post('getMoreContent.php', function(data) { //Assuming the returned data is pure HTML $(data).insertBefore($('#placeHolder')); }); }

Es posible que deba mantener una variable de javascript llamada algo como lastId que almacena la última identificación mostrada y pasarla al receptor AJAX para que sepa qué contenido nuevo devolver. Entonces en tu AJAX podrías llamar

 $.post('getMoreContent.php', 'lastId=' + lastId, function(data) { //Assuming the returned data is pure HTML $(data).insertBefore($('#placeHolder')); });

Hice exactamente esto en la página de búsqueda de mi empresa .

over 4 years ago · Santiago Trujillo Denunciar

0

Solo para ampliar sobre Dutchie432. En mi experiencia la

if ($(window).scrollTop() == $(document).height() - $(window).height())

puede no ser cierto de manera consistente (personalmente, no pude hacerlo realidad porque estaba saltando números).
Además, si el usuario se desplaza hacia arriba y hacia abajo, podría disparar muchas solicitudes, mientras esperamos que regrese la primera llamada ajax.

Entonces, lo que hice para que funcionara fue usar >= en lugar de == . Luego, desvinculé el scrollTop antes de hacer mi solicitud ajax. Luego, vincúlelo nuevamente si el ajax ha devuelto algún dato (lo que significa que puede haber más).

Aquí está

 <script type="text/javascript"> $(document).ready(function(){ $(window).bind('scroll',fetchMore); }); fetchMore = function (){ if ( $(window).scrollTop() >= $(document).height()-$(window).height()-300 ){ $(window).unbind('scroll',fetchMore); $.post('ajax/ajax_manager.php',{'action':'moreReviews','start':$('.review').length,'step':5 }, function(data) { if(data.length>10){ $(data).insertBefore($('#moreHolder')); $(window).bind('scroll',fetchMore); } }); } } </script>

`

over 4 years ago · Santiago Trujillo Denunciar

0

Te refieres a la carga progresiva dinámica.

Es un concepto bastante bien documentado e incluso hay soporte integrado para él de diferentes bibliotecas. JQuery en realidad tiene un GridView que admite la carga progresiva con bastante facilidad, por ejemplo.

Deberá utilizar AJAX para implementar esta función.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda