2012-07-12 4 views
9

sto usando il grande infinito-scroll plugin- http://www.infinite-scroll.com/infinite-scroll-jquery-plugin/grilletto infinito di scorrimento quando non c'è abbastanza contenuti per la barra di scorrimento a pagina carico

Ma risoluzioni dello schermo più grandi non c'è abbastanza da visualizzare una barra di scorrimento in modo da lo scroll infinito non viene mai attivato. Mi sono chiesto se questo fosse un modo per aggirare questo senza avere un gran numero di post iniziali.

Indovinare qualche tipo di istruzione if per controllare l'altezza del browser ecc. Ma come faccio a far scattare lo scroll infinito se restituisce true.

Tutte le idee

Grazie

Ben

risposta

13

Un modo per andare a fare un rapido controllo sarebbero:

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

Indovinate potrebbe essere necessario trasformare questo in una funzione per più 'recupera' se necessario fino a quando la finestra non è più alta del documento.

+0

Questo dovrebbe essere scelto come risposta. Grazie Luigi! – Joe

+1

Funziona benissimo! ; D – Waymas

3

versioni più recenti delle infinitescroll, impostare l'opzione

prefill: true 

Questa soluzione è stato creato e discusso su .

+0

Non funziona per me. Rimane allo stesso modo, senza scorrimento verticale e non vengono aggiunti nuovi elementi. – Atadj

+0

Assicurati di utilizzare la versione più recente del plugin infinitescroll. –

+0

Sto usando 2.0b2.120519, ancora niente. L'altra risposta a questa domanda funziona. – Atadj

0

So che la domanda è vecchia, ma questo aiuterà molti di voi.

@Luigi risposta è buona, ma cosa succede se il caricamento del contenuto una volta per mostrare la barra di scorrimento non è sufficiente?

Questo dovrebbe farlo meglio

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); 

Questo verrà eseguito più volte, fino a quando necessario per mostrare in realtà barra di scorrimento.

È possibile provare questa funzione e vedere tutta la sua gloria quando si esegue lo zoom out pagina, per quanto è possibile con Ctrl+-.

Verrà visualizzata la richiesta di nuovo contenuto fino a quando non viene visualizzata la barra di scorrimento.