2

現在、jquery mobile を使用してモバイル用の Web サイトを開発しようとしています。リンクhref=""を使用している代わりに..onclick="document.location= ""

[example
<a onclick="document.location ='index.html';" title="back" data-transition="slide">Back</a>]

しかし、データ遷移はこれで機能しません..document.location.href=""使用時に同じ遷移効果を得ることができるように、解決策はありますかonclick="document.location= ""..

また、position:fixedプロパティはAndroidで機能していません..同じように機能するように解決策はありますか..

4

2 に答える 2

5

これは、Jquery Mobile が通常のリンクをインターセプトし、AJAX を介してページをロードするためです。すべてのトランジション効果 (SLIDE を含む)では DOM に 2 つのページが必要なため、このような方法でのみ可能です。

JQMのナビゲーションモデルへのリンクは次のとおりです

ご覧のとおり、JQM はリンクをハイジャックし、新しいページへの AJAX 呼び出しを行い、このページのdiv.data-role="page"の内容をロードします。新しいページが DOM に追加されるため、ドキュメントには 2 つのページがあります。

次に、トランジションに応じて、新しいページ位置が設定されます (たとえば、ビューポートの外側の画面の左上)。次に、古いページの上に新しいページがスライドインするトランジションが発生します。完了すると、古いページは非表示になります。

ただし、document.locationを実行している場合、JQM はインターセプトせず、Ajax を使用せずにページをロードするだけなので、遷移は発生しません。これは、リンクで rel="external" を指定するのと同じです。その後、遷移のない「通常の」リンクにもなります。

簡単 に言えば、 document.location を使用している場合、Ajax を使用していないため、 transitions はありません

于 2012-06-04T11:39:18.900 に答える
0

最初のポイントは、理想的には、アンカー タグで onclik を使用しないことです。このようなものを使用してください

<a href="javascript:loadPage('admin-list-notification.html?');" data-role="button" data-theme="a">Notification</a>

于 2012-06-04T11:36:41.610 に答える