2015-12-07 19 views
1

嗨,我正在開發一個跨平臺的移動應用程序使用科爾多瓦。我需要一個行動,當一個div被刷到另一個頂部需要出現就像在iPhone的主屏幕iPhone應用程序搜索。我寫了下面的代碼,它不適用於我的應用程序。爲什麼使用在iPhone中未檢測到的觸摸移動向下滑動手勢?

function detectswipe(el,func) { 
     swipe_det = new Object(); 
     swipe_det.sX = 0; 
     swipe_det.sY = 0; 
     swipe_det.eX = 0; 
     swipe_det.eY = 0; 
     var min_x = 20; //min x swipe for horizontal swipe 
     var max_x = 40; //max x difference for vertical swipe 
     var min_y = 10; //min y swipe for vertical swipe 
     var max_y = 10; //max y difference for horizontal swipe 
     var direc = ""; 
     ele = document.getElementById(el); 
     ele.addEventListener('touchstart',function(e){ 
     var t = e.touches[0]; 
     swipe_det.sX = t.screenX; 
     swipe_det.sY = t.screenY; 
     },false); 
     ele.addEventListener('touchmove',function(e){ 
     e.preventDefault(); 
     var t = e.touches[0]; 
     swipe_det.eX = t.screenX; 
     swipe_det.eY = t.screenY; 
     if ((((swipe_det.eX - min_x > swipe_det.sX) || (swipe_det.eX + min_x < swipe_det.sX)) && ((swipe_det.eY < swipe_det.sY + max_y) && (swipe_det.sY > swipe_det.eY - max_y)))) { 
      if(swipe_det.eX > swipe_det.sX) direc = "r"; 
      else direc = "l"; 
     } 
     //vertical detection 
     if ((((swipe_det.eY - min_y > swipe_det.sY) || (swipe_det.eY + min_y < swipe_det.sY)) && ((swipe_det.eX < swipe_det.sX + max_x) && (swipe_det.sX > swipe_det.eX - max_x)))) { 
      if(swipe_det.eY > swipe_det.sY) {calling();} 
      else direc = "u"; 
     } 

     if (direc != "") { 
      if(typeof func == 'function') func(el,direc); 
     } 
     direc = ""; 
     // alert("touchmove"); 

     },false); 

    } 

    function myfunction(el,d) { 
     //alert("you swiped on element with id '"+el+"' to "+d+" direction"); 
     if(d == "d") 
     { 
     //calling(); 

     } 
    } 



    detectswipe('swipemethod',myfunction); 
    function calling() 
    { 
     $("#mydiv").removeClass("mydiv"); 
      $("#swipeinner").removeClass("swipeinner"); 
    } 

這個小提琴在我的手機瀏覽器click here工作正常。但不是在我的應用程序中內置的iPhone

我不知道它的原因。有人能幫我嗎?在此先感謝...

回答

1

對於不像jQuery手機那樣重量級的應用,請嘗試使用hammer.js庫。它不到4k。我使用JQM,但這很重要,只是爲了檢測滑動。

http://hammerjs.github.io