2013-08-26 44 views
1

我試圖阻止某個網站的移動版本正在運行的功能。檢查設備是否是iPad然後停止正在運行的jQuery功能

function isiPhone(){ 
return (
    //Detect iPad 
    var isiPad = navigator.userAgent.match(/iPad/i) != null; 
); 
} 

if(isiPad){ 
    myFunction.stop(); 
} 

代碼檢查,如果用戶是在iPad上,是他們是我想停止執行myFunction。我現在用的是.stop()方法(jQuery Docs - Stop)

當我運行這段代碼myFunction不會停止運行myFunction是一個jQuery動畫

+0

再看一下代碼做什麼。它設置了一個局部變量... – epascarello

+0

對不起,這只是一個錯字,在代碼中是正確的。 – joshuahornby10

+0

比解決您的問題中的代碼... – epascarello

回答

1

將您navigator.userAgent.match(/iPad/i) != nullif(....)聲明

if((navigator.userAgent.match(/iPad/i)) && (navigator.userAgent.match(/iPad/i)!= null)){ 
    myFunction.stop(); 
} 
0

試試這個:。

 function isiPhone(){ 
      var isiPad = navigator.userAgent.match(/iPad/i) != null; 
      return isiPad; 
     } 

或者簡單:

if(navigator.userAgent.match(/iPad/i)){ 
    myFunction.stop(); 
} 
0

jQuery的.stop()方法用於停止正在進行的jQuery動畫。如果您的myFunction變量不持有對動畫jQuery對象的引用,那麼它將不起作用。如果它持有對動畫jQuery對象的引用,則考慮傳遞參數以清除動畫隊列(如果其他動畫在停止播放之後運行)。

如果您試圖停止執行javascript函數(這不是jQuery動畫),那麼您需要以不同的方式停止該函數,例如設置一個標誌,以檢查它是否會中斷執行。