2012-07-12 10 views
9

estoy usando el gran infinito-scroll plugin- http://www.infinite-scroll.com/infinite-scroll-jquery-plugin/gatillo infinita de desplazamiento cuando no hay suficiente contenido para barra de desplazamiento en la página de carga

Pero en las resoluciones de pantalla más grande no hay suficientes mensajes para mostrar una barra de desplazamiento por lo el desplazamiento infinito nunca se dispara. Se preguntó si esto sería una forma de evitar esto sin tener una gran cantidad de publicaciones iniciales.

Adivinando algún tipo de instrucción if para verificar la altura del navegador, etc. Pero, ¿cómo puedo disparar el desplazamiento infinito si devuelve verdadero?

Cualquier idea

Gracias

Ben

Respuesta

13

Un camino a seguir para una comprobación rápida serían:

// Force 'retrieve' for next page if window is taller than document 
if($(window).height() >= $(document).height()){ 
$wall.infinitescroll('retrieve'); 
}; 

supongo que puede que tenga que convertir esto en una función de múltiples 'recuperar' si es necesario hasta que la ventana no sea más alta que el documento.

+0

Esto debe elegirse como la respuesta. Gracias Luigi! – Joe

+1

¡Funciona increíble! ; D – Waymas

3

Para las versiones más recientes de infinitescroll, establezca la opción

prefill: true 

Esta solución se crea y se discute en .

+0

No funciona para mí. Se mantiene de la misma manera, sin desplazamiento vertical y no se agregan nuevos elementos. – Atadj

+0

Asegúrese de estar utilizando la versión más reciente del complemento infinitescroll. –

+0

Estoy usando 2.0b2.120519, todavía nada. La otra respuesta a esta pregunta funciona. – Atadj

0

Sé que la pregunta es antigua, pero esto ayudará a muchos de ustedes.

@Luigi la respuesta es buena, pero ¿qué sucede si cargar contenido una vez para mostrar la barra de desplazamiento no es suficiente?

Esto debe hacerlo mejor

var no_scrollbar_workaround = setInterval(function checkVariable() { 

      if($(window).height() >= $(document).height()) { 
        jsonloader(); //here you put your function for more content 
      } else { 
        clearInterval(no_scrollbar_workaround); 
      } 
}, 1000); 

Esto ejecutará varias veces, hasta que se necesite para mostrar realidad barra de desplazamiento.

Usted puede probar esta función y ver toda su gloria cuando se aleja la página lo más que pueda con Ctrl+-.

Verás una llamada para obtener nuevo contenido hasta que se muestre la barra de desplazamiento.

Cuestiones relacionadas