モバイルアプリケーションにJquerymobileを使用しています。ページを変更する前に、そのページでCSSを変更したいと思います。たとえば、次のページのIDにクラスを追加したり、色を変更したりする場合:$("#divA1").css("background-color","blue");
id
現在のページ(存在する場合)で同じように変更してから、次のページを変更します。CSS
1つのページで設定を設定し、次のページにそれらの設定をロードするにはどうすればよいですかCSS
。
モバイルアプリケーションにJquerymobileを使用しています。ページを変更する前に、そのページでCSSを変更したいと思います。たとえば、次のページのIDにクラスを追加したり、色を変更したりする場合:$("#divA1").css("background-color","blue");
id
現在のページ(存在する場合)で同じように変更してから、次のページを変更します。CSS
1つのページで設定を設定し、次のページにそれらの設定をロードするにはどうすればよいですかCSS
。
ほとんどのシナリオでは、jQueryMobileはajax呼び出しを介して追加のページをDOMにロードします。これは、動作のかなり基本的な部分であり、すべてのページのすべてのマークアップIDが一意であることを確認する必要があります。
<div id="page1" data-role="page">
<div data-role="content">
<div id="myContent1"></div>
</div>
</div>
<div id="page2" data-role="page">
<div data-role="content">
<div id="myContent2"></div>
</div>
</div>
ページに同様のサブコンポーネントが含まれている場合は、代わりにクラスを検討してください。
<div id="page1" data-role="page">
<div data-role="content">
<div class="myContent"></div>
</div>
</div>
<div id="page2" data-role="page">
<div data-role="content">
<div class="myContent"></div>
</div>
</div>
クラスは次のような選択を可能にします$("#page1.myContent").css("background-color");
新しいページに配置する必要がある場合は、3つのオプションがあります。
URLに変数を渡して、新しいページでテストし、CSSを適切に変更できます。例えば。www.url.com?newcolor = f00
現在のページに非表示のフォームを配置し、その中の値を更新して、次のページに移動するときに渡すことができます。(それを行うための醜い方法ですが、それは機能します。)
クッキーを設定します。(私の好みの解決策は、Cookieが有効になっている限りうまく機能します。正直なところ、Cookieが有効になっていない可能性があります。)
ただし、特にモバイルデバイスでの最善のオプションは、ページの現在のフレームワークを維持し、ajaxを介して新しいコンテンツを取得し、それを現在のページのコンテンツdivにロードすることです。
あなたが何をしようとしているのか正確にはわかりませんが、非同期ajax呼び出しを使用して次のページのDOMをダウンロードすることをお勧めします。
次に、必要な変更をそのDOMに適用し、最後にそれを現在のDOMに接続します。
そのwoulのスタブは次のようになります。
$.ajax('path/to/next/page', {
async : true,
complete : function ajaxCallback(newSite) {
$item = $('YOURSELECTOR');
// Here you can make changes, such as CSS edition
$item.css({'background-color' : '#FF0000'});
// Since you want to make changes to the new site only if you did them in the first site...
if ($item.length > 0) {
$(newSite).find('YOURSELECTOR').css({'background-color' : '#FF0000'});
}
// Here you can append the new site to the DOM
}
});