テーマには基本的なリストがあります。ボタンをクリックすると、テーマを変更する方法を見つけようとしています。 $('a li').attr('data-theme','a');
とリストの更新を組み合わせてみました。そこの成功は?Jquery mobile:クリックしてテーマを変更してください
答えて
$('a li').data('theme', 'a');
//<-- use the data() function to change data attributes
本当ですか?それはjqueryデータメソッドではありませんか? http://api.jquery.com/jQuery.data/ –
「データテーマ」属性を変更した場合、jQuery Mobileはmouseoverイベントでテーマを更新することに気付きました。このソリューションは、ハックのようなものですが、簡単です。
$("a li").attr("data-theme", "a").trigger("mouseout")
死んで質問を復活させるために申し訳ありませんが、私はこの質問グーグル(「jqueryの携帯変更のテーマ」のSERPに#6)を発見し、何が正しい答えはありませんでした。
申し訳ありませんが、これは「pagebeforeshow」イベント中にのみ機能するようです。 –
ui-body-、ui-button-up、ui-button-down、ui-button-hover、およびui-bar-classesのすべてのページを検索し、それらのクラスのそれぞれを削除し、各クラスの最後に目的のテーマレターを追加します。私は現時点でそれを行うためのプラグインに取り組んでいます。
以下は、テーマBにテーマD'sのバーに設定されたページを変更します
var pages = $("div[data-role='page']"), pageThemeClasses = $(pages+"[class$=d]");
$(pageThemeClasses).removeClass('ui-bar-b');
$(pageThemeClasses).addClass('ui-bar-b');
これは私のために働きました。これはその後、「作成」トリガー、そしてテーマをクラスを変更するに過ぎず働く理由
$("a li").removeClass("ui-body-b"); //remove old theme
$("a li").addClass("ui-body-a"); //add new theme
わからないが私の作品 - それは誰かに役立ちます願っています。
$("div[data-role='collapsible']").bind('expand', function() {
$(this).find("a[data-theme='c']").removeClass('ui-btn-up-c').addClass('ui-btn-up-b').attr('data-theme', 'b').trigger('create');
});
$("div[data-role='collapsible']").bind('collapse', function() {
$(this).find("a[data-theme='b']").removeClass('ui-btn-up-b').addClass('ui-btn-up-c').attr('data-theme', 'c').trigger('create');
});
これは、変更しようとしている要素の種類によって異なります。それは、データ・ロールを持つアンカータグだ場合=、代わりに「ボタン」を
var oT = $(this).attr('data-theme'); // old theme
var nT = (oT == 'a' ? 'e' : 'a'); // new theme
$(this).removeClass('ui-btn-up-' + oT).addClass('ui-btn-up-' + nT).attr('data-theme', nT);
$(this).parent('div').removeClass('ui-btn-hover-' + oT).addClass('ui-btn-hover-' + nT).removeClass('ui-btn-up-' + oT).addClass('ui-btn-up-' + nT).attr('data-theme', nT);
: これは、ボタン要素のテーマを切り替えることができる方法であるだけで
$(this).removeClass('ui-btn-hover-' + oT).addClass('ui-btn-hover-' + nT).removeClass('ui-btn-up-' + oT).addClass('ui-btn-up-' + nT).attr('data-theme', nT);
、検査するブラウザコンソールを使用します要素(および親/子要素)のデータテーマの属性とクラスが定義されています。
まあ、コーリーDockenからの答えは基本的に動作します:
$("a li").attr("data-theme", "a").trigger("mouseout")
トリックはあなたが選びだしたデータ・テーマに応じた要素にカーソルを合わせるとjQueryのモバイルは常にクラスを変更することです。 データテーマを変更すると、次のホバー/マウスオーバーイベントによって、新しいテーマに従ってクラスが変更されます。
新しいテーマの方が古いテーマよりも高い場合にのみうまくいきます。古いテーマのクラスは残っています。より高い文字を持つクラスは、より低い文字の後に置かれるので、より高い文字が勝ちます。
テーマローラー(themeroller.jquerymobile。comなど)あなたは、その後、プログラム、独自の色を調整し、CSSの各テーマをエクスポートすることもできます
$("#idoflink").attr("href", "theotherstyle.css");
を、私はそれが
が頭の中にこのコードを入れてやるべきだと思う:
<link rel="stylesheet" href="../css/themes/default/jquery.mobile-1.4.5.min.css">
<script>
$(document).on("pagecreate", function() {
$("#theme-selector input").on("change", function(event) {
var themeClass = $("#theme-selector input:checked").attr("id");
$("#testpage").removeClass("ui-page-theme-a ui-page-theme-b").addClass("ui-page-theme-" + themeClass);
});
});
</script>
$ ( "#testpage")はサンプルコンポーネントのIDです(これはbodyのメインdivのIDです)。
体に入れる:
<div class="ui-field-contain" id="theme-selector">
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>Theme:</legend>
<label for="a">A</label>
<input type="radio" name="theme" id="a" checked>
<label for="b">B</label>
<input type="radio" name="theme" id="b">
</fieldset>
</div>
私は、これはあなたが達成しようとしているものへの答えであると思います。もちろん、あなたは "ラジオ"を "ボタン"に簡単に置き換えることができ、それをちょっと改造することができます。
2018では、これは私にとってはうまくいく、ThemeRollerからダウンロードしたさまざまなテーマの値を調整するだけです。
はアラートがifelseブロックの最後に、まだ投げされていない=
var lastTheme = 'a';
function ThemeSwap() {
var rootDiv = $('#IdOfDivMarkedAsDataRolePage');
if (lastTheme === 'a') {
rootDiv.removeClass('ui-page-theme-a');
rootDiv.addClass('ui-page-theme-b');
lastTheme = 'b';
}
else if (lastTheme === 'b') {
rootDiv.removeClass('ui-page-theme-b');
rootDiv.addClass('ui-page-theme-c');
lastTheme = 'c';
}
else if (lastTheme === 'c') {
rootDiv.removeClass('ui-page-theme-c');
rootDiv.addClass('ui-page-theme-a');
lastTheme = 'a';
}
else
alert('bad theme swapping. last theme = ' + lastTheme);
rootDiv.trigger('create');
return true;
}
を「ページ」をデータ・役割を持っているのdivを取得します。
- 1. Jquery mobile:リストビューのヘッダーを変更してください
- 2. URLに基づいてテーマを変更してください
- 3. テーマをアンドロイドバージョンに応じて変更してください
- 4. アイテムをクリックしてimg srcを変更してください。
- 5. Android Auto - ランタイム時のテーマを変更してください
- 6. phpMyAdminデフォルトのテーマを変更してください
- 7. Avalon Dockのテーマを変更してください
- 8. dijitのテーマやスタイルを変更してください
- 9. 私のCTAGSテーマを変更してください
- 10. Jekyllの静的サイトのテーマを変更してください
- 11. ファブボタンの色とテーマを変更してください
- 12. Unity 3d - クリックしてテクスチャを変更してください。
- 13. jQuery - クリックに基づいて画像を変更してください
- 14. ラジオボタンを変更し、クリックしてスタイルを変更してください。
- 15. テーマを変更するときのみ色を変更してください
- 16. ボタンをクリックした後に変更してください。 angularjs
- 17. クリックしたラジオだけをクリックしてバックグラウンドの色を変更してください。
- 18. パネルのレイアウトに基づいてdrupalテーマを変更してください
- 19. テーマに基づいて図面を変更してください
- 20. jQuery:入力テキストを変更するには、イベントをクリックしてください
- 21. iOSのカスタムキーボードをperfecto Mobile Webdriverを使用してクリックしてください
- 22. 1つのボタンをクリックしてdivを変更してください
- 23. クリック時の固定位置を変更してください
- 24. ng-click + ng-repeatをクリックしてパネルスタイルを変更してみてください
- 25. テーマに応じてCSSを変更し、以前のテーマを削除してください。
- 26. HTML5キャンバスをクリックしてください
- 27. Htmlチェックボックスをクリックして属性を変更しないでください
- 28. WinDev MobileのSQLite DBを更新してください
- 29. jquery-mobileがロードされていないか確認してください。
- 30. 要素をクリックして要素の背景を変更してください
あなたはslnを見つけましたか? – Larsi