2013-05-03 267 views
1

我試圖使用移動應用的滑動效果。我已經測試過並努力改變頁面。但它非常敏感。很多時候我只想滾動和他改變頁面。滑動效果靈敏度

是否可以在觸摸屏上修正此事件的敏感度?

這裏是我的代碼:

$(document).on('swipeleft', '[data-role="page"]', function(event){  
    if(event.handled !== true) // This will prevent event triggering more then once 
    {  
     var nextpage = $(this).next('[data-role="page"]'); 
     // swipe using id of next page if exists 
     if (nextpage.length > 0) { 
      $.mobile.changePage(nextpage, {transition: "slide", reverse: false}, true, true); 
     } 
     event.handled = true; 
    } 
    return false;   
}); 

$(document).on('swiperight', '[data-role="page"]', function(event){ 
    if(event.handled !== true) // This will prevent event triggering more then once 
    {  
     var prevpage = $(this).prev('[data-role="page"]'); 
     if (prevpage.length > 0) { 
      $.mobile.changePage(prevpage, {transition: "slide", reverse: true}, true, true); 
     } 
     event.handled = true; 
    } 
    return false;    
}); 

回答

5

在jQuery Mobile中,您需要爲水平和垂直拖動距離horizontalDistanceThresholdverticalDistanceThreshold設置新值。

請注意,您需要將更改綁定到mobileinit事件,並且在加載jQuery js文件和加載jQuery-Mobile js之前應將代碼放置到<head>中。

<script src="jquery.js"></script> 

<script> 
$(document).bind("mobileinit", function(){ 
$.event.special.swipe.horizontalDistanceThreshold = '100'; // default 30px 
$.event.special.swipe.verticalDistanceThreshold = '150'; // default 75px 
}); 
</script> 

<script src="jquery-mobile.js"></script> 

參考:Swipe event - jQuery Mobile

2

調整這樣

$.swipe.defaults.threshold.x = '30'; //for horizontal swiping sensitivity 
$.swipe.defaults.threshold.y = '10'; //for vertical swiping sensitivity 

輕掃門檻只需添加這些代碼來改變應用程序的揮動全局靈敏度和之後做你的常用代碼把上面的代碼

直接改變某個元素的靈敏度,你可以做這樣的事情

$('[data-role="page"]').swipe({ threshold: {x: 30, y: 20}, 
swipeLeft: function() { alert('swiped left') }, 
swipeRight: function() { alert('swiped right') }}); 
+0

確定..你能告訴我在我行有插入? thx爲 – user2232273 2013-05-03 17:39:56

+0

不能刷卡.. – user2232273 2013-05-03 17:54:46

+0

然後根據需要增加閾值 – 2013-05-03 17:58:16