2

私は3ページあります:

ページ1の[フィルター]ボタンをクリックすると、ページ2に移動します。page2の「灰色のボタン」をクリックすると、page3に移動します。page2の「赤いボタン」をクリックすると、page1に戻ります。

しかし、これらすべての移行中に、ページはスタイルを失います。

このコードをpage1に追加しようとしましたが、うまく機能しなかったようです。

$(document).bind('pagechange', function() {
          $('.ui-page-active .ui-listview').listview('refresh');
          $('.ui-page-active :jqmData(role=content)').trigger('create');
        });
4

4 に答える 4

2

ユーザーが jQuery Mobile 駆動型サイトのリンクをクリックすると、ナビゲーション システムのデフォルトの動作は、そのリンクの href を使用して Ajax リクエストを作成することです (ブラウザのデフォルトのリンク動作で、完全な URL でその href をリクエストするのではなく)ページの読み込み)。

つまり、ページの先頭を参照するスクリプトとスタイルは、ページが Ajax 経由で読み込まれた場合は効果がありませんが、ページが HTTP 経由で正常に要求された場合は実行されます。

そのため、すべてのページのヘッダーで同じスタイルシートとスクリプトのセットを参照するだけでなく、スタイルを統合しようとしました。これで問題は解決しました。

http://jquerymobile.com/demos/1.0/docs/pages/page-scripting.html

于 2012-12-19T17:18:07.957 に答える
0

Windows 8ナビゲーションを使用している場合、あるページから別のページに移動すると、新しいページcssが読み込まれます。同じ名前のcssセレクターがある場合は、新しいcssが有効になります。戻ると、このスタイルを失う可能性があります。

各ページとサブページにcss名前空間を使用してみてください: https ://www.google.com.br/search?q = css + namespace

于 2012-12-11T22:54:00.513 に答える
0

pageChange を使用すると、その URL に対して Ajax リクエストが行われ、data-role="page" を持つ div 内のコンテンツのみが読み込まれます。したがって、この要素から得られるものはすべて無視されます (JS および CSS)。

于 2012-12-19T17:34:57.817 に答える
0

page2 または page3 に移動するために使用しているロジックがわかりません

changePage 関数を試して、別のページに移動できます..

    $.mobile.changePage("page2.html", { allowSamePageTransition: true, 
transition: "slide", reloadPage: true });
于 2012-12-15T07:33:01.433 に答える