7

jQueryMobile の$.mobile.changePage(...)メソッドを使用して、プロジェクト内の別のページに切り替えています。

$.mobile.changePage("#foo", {
 transition:"slide"
});

そのメソッドを実行すると、トランジションは完全に機能しますが、ブラウザの戻るボタンを押すと、逆のトランジションが表示されません。

http://jquerymobile.com/test/docs/api/methods.htmlで説明されているパラメーターのいくつかを試してみましたが、うまくいきませんでした。

特に設定reverse:trueは、ターゲットページに進むときに遷移を逆にしただけですが、戻るボタンを押してもまだ遷移しません。


更新: data- rel ="back" が -tag を介して定義された「元のリンク」のトリックを行うように見えます<a>が、必要なのは、関数を呼び出すときに JavaScript に相当するものです。$.mobile.changePage()

4

3 に答える 3

2

このページを見てください、http://jsfiddle.net/nachiket/mDTK2/show/light/
私とうまく動作します。

クリック (1 ページ) は左から右への遷移を示し、戻るボタン (2 ページ) は右から左への遷移を示します。

ソース: http://jsfiddle.net/nachiket/mDTK2/
正常に動作しない場合は、ブラウズやその他の詳細を共有してください。
例が正常に機能しているが、コードが機能していない場合は、問題を強調表示する jsfiddle を作成して、コード/回答を確認して更新できるようにします。

于 2012-07-12T19:21:51.790 に答える
2

逆遷移を行いたいリンクについては、で使用できdata-direction="reverse"ますdata-rel="back"

例:

<div data-role="page" >
    <div data-role="header"><h3> Header </h3> </div>
    <div data-role="content" >    
        <a href="#page2" data-role="button" data-transition="slide">Page 2</a>
    </div>
</div>

<div data-role="page" id="page2">
    <div data-role="header"><h3> Header </h3> </div>
    <div data-role="content" >    
        <a href="#" data-rel="back" data-role="button" data-direction="reverse" >Back</a>
    </div>
</div>​

jsFiddle:

ドキュメント:

アップデート

コメントより

"Yeah, but how do I do that with the JavaScript function $.mobile.changePage()?"

ドキュメント:

見積もり:

Properties:
     reverse (boolean,  default:    false) Decides what direction the transition will run when showing the page.
于 2012-07-18T14:01:20.273 に答える
0

それを見つけた。

私たちの開発者の 1 人が、すべてのリターン トランジションをグローバルにオフにしたため、機能しなかったのも不思議ではありません。

これは彼が使ったものです。その行を削除するとうまくいきました。

$.mobile.changePage.defaults.transition = "none";
于 2012-07-30T15:18:09.990 に答える