2013-05-16 33 views
8

Tôi đang gặp sự cố với iPhone và vuốt sang các trang khác. Khi cuộn xuống một trang, độ nhạy của chuyển động rất nhạy và sẽ trượt sang trang tiếp theo. Có cách nào để kiểm soát sự nhạy cảm swipe bên trong mã này:Thay đổi độ nhạy vuốt bằng 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> 

Trả lời

7

Điều này dường như làm việc cho hầu hết các phần:

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

Từ sự hiểu biết của tôi horizontalDistanceThreshold được đặt ở mặc định cho 30px, vì vậy tôi đã thay đổi nó đến 100. Cho đến nay nó có vẻ cân bằng khi cuộn xuống, và không quá nhạy cảm.

20

Để điều chỉnh phản hồi này cho tất cả các thiết bị, tôi khuyên bạn nên đặt ngưỡng tương ứng với chiều rộng màn hình. Ví dụ:

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

Xem jQuery Mobile API Documentation

+1

Đây là một câu trả lời tuyệt vời. Tôi đã sử dụng nó cho ứng dụng của mình và sau đó vuốt trong ChromeView lại là một phúc lạc. –

+1

Tuyệt vời, câu trả lời này sẽ nhận được đánh dấu! – TobiasW

+1

Đây là một phản ứng tuyệt vời và nó đã giúp tôi rất nhiều một vấn đề với các swquerymobile swipes trong Android, id ai có một vấn đề với nó, bạn có thể thử này ra. – Ramon

Các vấn đề liên quan