我有一個基本的主題列表a。我試圖找到一種方法來改變主題,當點擊一個按鈕。嘗試$('a li').attr('data-theme','a');
結合列表刷新沒有運氣。在那裏取得成功?jquery手機:點擊更改主題
回答
$('a li').data('theme', 'a');
//<-- use the data() function to change data attributes
你確定嗎?這不是jQuery數據方法嗎? http://api.jquery.com/jQuery.data/ –
我注意到如果你改變了「data-theme」屬性,jQuery Mobile會刷新mouseover事件的主題。這個解決方案有點破解,但很簡單。
$("a li").attr("data-theme", "a").trigger("mouseout")
對不起,復活一個死的問題,但我發現這個問題,谷歌(在SERP的「jQuery Mobile的變化主題」#6),也沒有正確的答案。
對不起,這似乎只在「pagebeforeshow」事件期間工作。 –
您將不得不搜索頁面中所有的ui-body-,ui-button-up,ui-button-down,ui-button-hover和ui-bar-classes,在結尾處查找字母其中每個類都刪除這些類,然後在每個類的末尾添加所需的主題字母。我正在研究一個插件來做到這一點。
下面將改變頁面設置爲主題D的酒吧主題B:
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 Mobile的總是變化的類。 如果更改數據主題,則下一個懸停/ mouseover事件將根據新主題更改類。
那麼,它只適用於新的主題比舊的主題有更高的字母。舊主題中的課程依然存在。由於具有較高字母的類放在具有較低字母的類之後,較高的字母會勝出。
如果您使用主題滾筒(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下載的不同主題的值。
獲取誰擁有數據的作用在div =「頁」
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;
}
警報尚未在ifelse塊的末尾還沒有拋出。
- 1. 在jQuery手機頁面中更改標題主題?
- 2. 手機導航點擊jquery
- 3. jQuery手機(點擊事件)
- 4. jquery手機主題或css
- 5. 樣式JQuery手機主題
- 6. 在jQuery手機中更改數據主題
- 7. JQuery更改主題
- 8. 更改jQuery Mobile中點擊按鈕的主題
- 9. jQuery/jQuery手機點擊/滑動事件
- 10. jQuery手機點擊事件觸發vclick
- 11. jQuery手機css滾動並點擊
- 12. jQuery在手機上點擊事件
- 13. Phonegap點擊問題在Nexus Jellybean手機
- 14. AT主題手機
- 15. 點擊jquery更改背景
- 16. jquery更改點擊圖像
- 17. jquery點擊更改類
- 18. Jquery URL點擊更改
- 19. 點擊jquery更改按鈕
- 20. 點擊jquery更改類
- 21. jquery更改點擊圖片
- 22. php後的jQuery手機主題回覆
- 23. jQuery手機疊加主題半透明?
- 24. 點擊UL標題更改?
- 25. 如何更改一個div類的點擊(點擊)iPhone手機網頁
- 26. 如何通過點擊更改主題的標題?
- 27. 如何以編程方式更改手機上的主題
- 28. Windows Phone - 是否可以更改手機上的主題顏色?
- 29. 手風琴圖標更改點擊 - javascript
- 30. bootstrap手風琴圖標更改點擊
您是否找到sln? – Larsi