首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jquerymobile中更改可折叠set折叠对象的主题

问如何在jquerymobile中更改可折叠set折叠对象的主题
EN

Stack Overflow用户
提问于 2013-06-19 00:56:57
回答 3查看 1.2K关注 0票数 2

我使用的是jquery mobile,我有一个可折叠的集合,其中包含三个可折叠的项目,并希望在项目展开时从javascript代码中更改项目的主题。并在折叠时将其恢复为正常主题

注意:我不想改变整个可折叠的集合项目。只有折叠或展开的那个。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-19 02:11:31

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

jQuery移动

代码语言:javascript
复制
$(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

代码语言:javascript
复制
<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

票数 5
EN

Stack Overflow用户

发布于 2013-06-19 02:04:40

请看这个小提琴:

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

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2013-12-20 22:42:45

尝尝这个。

代码语言:javascript
复制
$( ".selector" ).collapsible({ collapsed: false });

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17174675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档