如何在jquerymobile中更改可折叠集折叠对象的主题

时间:2013-06-18 16:56:57

标签: android jquery-mobile cordova

我正在使用jquery mobile 我有一个可折叠的套装,其中包含三个可折叠的物品 并希望在扩展时从javascript代码更改项目的主题。 当它崩溃时将其恢复为正常主题

注意:我不想更改整个可折叠设置项目。 只是折叠或扩展的。

3 个答案:

答案 0 :(得分:5)

不幸的是,collapsible不接受动态更改主题,因此,您需要以编程方式添加/删除类。

  

<强> Demo

jQuery Mobile

$(document).on('expand collapse', '#col1, #col2, #col3', function (e) {
 if (e.type == 'expand') {
    var oldclass = 'ui-btn-up-d ui-body-d';
    var newclass = 'ui-btn-up-e ui-body-e';
    $(this).find('a').removeClass(oldclass + ' ui-btn-hover-d').addClass(newclass + ' ui-btn-hover-e');
    $(this).find('.ui-collapsible-content').removeClass(oldclass).addClass(newclass);
   }
   if (e.type == 'collapse') {
    var oldclass = 'ui-btn-up-e ui-body-e';
    var newclass = 'ui-btn-up-d ui-body-d';
    $(this).find('a').removeClass(oldclass + ' ui-btn-hover-e').addClass(newclass + ' ui-btn-hover-d');
    $(this).find('.ui-collapsible-content').removeClass(oldclass).addClass(newclass);
  }
});

<强> HTML

<div data-role="collapsible-set" data-theme="c" data-content-theme="d">
 <div data-role="collapsible" id="col1">
     <h3>Section 1</h3>

    <p>I'm the collapsible content for section 1</p>
 </div>
 <div data-role="collapsible" id="col2">
     <h3>Section 2</h3>

    <p>I'm the collapsible content for section 2</p>
 </div>
 <div data-role="collapsible" id="col3">
     <h3>Section 3</h3>

    <p>I'm the collapsible content for section 3</p>
 </div>
</div>

相关:https://stackoverflow.com/a/15789387/1771795

答案 1 :(得分:2)

看到这个小提琴:

jQuery mobile不支持直接在collapsibles中更改主题,因此您必须使用手动方法删除类,然后添加新类。

var oldclass = 'ui-btn-up-b ui-body-b';
    var newclass = 'ui-btn-up-d ui-body-d';
    $('[data-role=collapsible]').find('a').toggleClass(oldclass + ' ui-btn-hover-b').toggleClass(newclass + ' ui-btn-hover-d');
    $('[data-role=collapsible]').find('.ui-collapsible-content').toggleClass(oldclass).toggleClass(newclass);

链接:http://jsfiddle.net/cDmdh/

答案 2 :(得分:0)

试试这个。

$( ".selector" ).collapsible({ collapsed: false });

来自:http://api.jquerymobile.com/collapsible/

相关问题