2012-03-28 11 views
1

バグレポートかStackOverflowの質問ですか...わかりません。私はモバイルアプリでjQueryMobileを使っていますが、ページ間の遷移(およびダイアログ、ページとダイアログ間、またはその逆)以外は問題ありません。デフォルトのダイアログ遷移 'none'はまだ私に 'ポップ'の遷移を与えています

すべての遷移がとても悪いですいくつかのダイアログの間にあるので、私はそれらを完全にオフにしたかった、とjQMは、このための設定があります。

$ .mobile.defaultDialogTransition =「なし」に。

実際にAndroidではなくWindowsデスクトップでChromeをテストするとうまくいきます。そこに、私はまだ "ポップ"の移行を取得します。どうしたの?

編集:各リンクで明示的にデータ移行属性をAndroid用に設定します。

編集2:あなたは正しい順序でinitのステップを含んでいることを確認してください

//Part 1: The setup 
$(window).on("mobileinit",function(){ 
$.support.cors = true; //cors = cross-origin resource sharing 
    $.mobile.allowCrossDomainPages = true; 
    $.mobile.loadingMessage = false;//Finally works now that initializePage is removed 

    //Specific for Android's flashing page 
    $.mobile.defaultDialogTransition = 'none'; 

    //Specific for iOS 
    $.support.touchOverflow = true;//These two improve page transitions on iOS 
    $.mobile.touchOverflowEnabled = true; 
}) 

//Part 2: The workaround I use to make sure the transition is truly 'none' even on Android. 
<a href="#balance" data-rel="dialog" data-transition="none"> 
+0

から「データ移行」属性を削除する必要があなたの私を表示しますJQMのバージョンを教えてください – codaniel

答えて

2

です:ここで要求されるようにコードがですか?

mobileinitイベントは実行時にすぐにトリガされるためのjQuery Mobileはロードされる前に、 あなたは、イベントハンドラをバインドする必要があります。 はこのように、我々は以下の 順序でJavaScriptファイルへのリンクをお勧めします:

<script src="jquery.js"></script> 
<script src="custom-scripting.js"></script> 
<script src="jquery-mobile.js"></script> 
+0

はい、jqueryとjquerymobileスクリプトの間にmobileinitイベントハンドラを置いています。 – Wytze

+0

私は、トランジションの選択に関して、jQMが非常に強制的だと思っています。ブラウザがCSS変換をサポートしていない場合、jQMのデフォルトは特定の単純な変換になります。それはあなたが 'なし'オプションでそれらを無効にすることはできませんちょうど奇妙に思えます。 – Wytze