2013-05-16 6 views
8

Sto riscontrando un problema con l'iPhone e il passaggio ad altre pagine. Scorrendo una pagina verso il basso, la sensibilità del movimento è commovente e passerà alla pagina successiva. C'è un modo per controllare la sensibilità magnetica all'interno di questo codice:Modifica della sensibilità di scorrimento con jQuery Mobile

<script type="text/javascript"> 
$(document).ready(function(){ 
    var counter = 1; 
    $(document).bind('swipeleft','#deal_1',function (event, ui) { 
    counter++; 
    if(counter>3) 
    counter = 1; 
    var nextpage = 'dailydeal'+counter+'.html'; 
    if (nextpage.length > 0) { 
     $.mobile.changePage(nextpage, {transition: "slide", 
     reverse: false}, true, true); 
     } 
    }); 
$(document).bind('swiperight','#deal_1',function (event, ui) { 
    counter--; 
    if(counter<1) 
    counter=3; 
    var prevpage = 'dailydeal'+counter+'.html'; 
    if (prevpage.length > 0) { 
     $.mobile.changePage(prevpage, {transition: "slide", 
     reverse: true}, true, true); 
    } 
    }); 
    }); 
</script> 

risposta

7

Questo sembra funzionare per la maggior parte:

<script type="text/javascript"> 
    $(document).bind("mobileinit", function() { 
    $.event.special.swipe.horizontalDistanceThreshold = 100; 
    }); 
</script> 

Dalla mia comprensione della horizontalDistanceThreshold è fissato a default per 30px, così ho cambiato fino a 100. Finora sembra equilibrato quando si scorre verso il basso e senza essere troppo sensibile.

20

Per adattare questa risposta a tutti i dispositivi, suggerirei di impostare la soglia relativa alla larghezza dello schermo. Per esempio:

$.event.special.swipe.scrollSupressionThreshold = (screen.availWidth)/60; 
$.event.special.swipe.horizontalDistanceThreshold = (screen.availWidth)/60; 
$.event.special.swipe.verticalDistanceThreshold = (screen.availHeight)/13; 

Vedi jQuery Mobile API Documentation

+1

Questa è una risposta impressionante. L'ho usato per la mia app, e da allora scorrere in ChromeView è di nuovo una beatitudine. –

+1

Impressionante, questa risposta dovrebbe ottenere il segno di spunta! – TobiasW

+1

Questa è una grande risposta e mi ha aiutato molto con un problema con i colpi jquerymobile in Android, chiunque abbia un problema con esso puoi provarlo. – Ramon