1

この jQuery からのページ遷移の例は、Chrome で動作しますhttp://jquerymobile.com/demos/1.0a4.1/docs/pages/#docs-transitions.html

しかし、このコードで自分で試してみると、常にフェード効果が使用されます。Firefox では動作します。これを phonegap でビルドすると、iOS では動作せず、Android でも動作しません。

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="js/jquery/jqueryMobile/jquery.mobile-1.2.0.css" />
    <script src="js/jquery/jquery-1.8.2.js"></script>
    <script src="js/jquery/jqueryMobile/jquery.mobile-1.2.0.js"></script>
</head>

<body id="body">
    <div id="page1" data-role="page">
        <a id="my_link" href="#page2" data-role="button" data-transition="slide">
            click me
        </a>
    </div>
    <div id="page2" data-role="page">
        <div>
            page2
        </div>
    </div>

</body>

jquery モバイル JavaScript ファイルを調べたところ、changepage 関数で $.mobile._maybeDegradeTransition と呼ばれていることがわかりました。この関数は、ブラウザが csstransform3d をサポートしているかどうかをチェックします。Chrome はこれに対して false を返します。常に true を返すようにコードを変更すると、Chrome は単に移行を行います。

4

1 に答える 1

0

JQuery Mobile サイトによると:

フェード トランジションのみが表示されますか? すべてのトランジション タイプを表示するには、3D 変換をサポートするブラウザーを使用している必要があります。デフォルトでは、3D をサポートしていないデバイス (Android 2.x など) は、すべてのトランジション タイプで「フェード」にフォールバックします。この動作は構成可能です (以下を参照)。

ソース: http://jquerymobile.com/demos/1.1.0-rc.1/docs/pages/page-transitions.html

于 2013-06-14T02:00:12.093 に答える