2015-05-28 9 views
11

Ho un'app cordova per ipad che utilizza iScroll per scorrere tra le pagine.
Tutto ha funzionato fino a quando non ho aggiornato a iScroll5. Ho cambiato il mio codice, per usare il nuovo costruttore e parametri, ma ancora non funziona. Semplicemente non scorre.
Non so se mi manca qualcosa di ovvio, ma non riesco a trovare una documentazione esauriente sull'aggiornamento.iScroll su ios non funziona dopo l'aggiornamento a iScroll5

Questo è un esempio di come l'ho usato prima (iScroll4):

var options = {hScroll:false, hScrollbar:false, snap:true, onScrollEnd: updatePages(), momentum: false}; 
var scroller = new iScroll("wrapper", options); 

e questo è come lo uso ora (iScroll5):

var options = {scrollX: false, snap: true, momentum: false}; 
var scroller = new IScroll("#wrapper", options); 
scroller.on("scrollEnd", updatePages()); 

Ogni aiuto è molto apprezzato! Grazie!

risposta

1

Quindi, per prima cosa, nel tuo evento "scrollEnd" invece di passare la funzione updatePages() come parmetro, la stai chiamando. Quindi verrà eseguito solo una volta, quando la pagina viene caricata non su scrollEnd. Si dovrebbe cambiare per:

scroller.on("scrollEnd", updatePages);

Se questo da solo non si risolve il problema, allora si dovrebbe verificare stata riordinata il CSS.

Da iscroll.js documentazione:

[...] ricordare che lo script ha bisogno di sapere l'altezza/larghezza dell'area di scorrimento .

Ciò significa:

  • Se il vostro elemento #wrapper è posizionato all'altezza allora si dovrebbe avere esplicitamente definito parente o statica con una certa unità relativa (% non funziona).

  • Se il vostro elemento #wrapper è posizionato assoluto o fisso allora si dovrebbe applicare la regola sopra o si potrebbe usare top e bottom invece (entrambi devono essere specificati).

Se ancora non funziona, quindi assicurarsi che viene avviata l'oggetto IScroll dopo che il DOM è pronto, ma considerando ha funzionato per voi prima, questo non è il problema.

Problemi correlati