gpt4 book ai didi

javascript - 如何限制可折叠项目保持展开状态,除非我单击其他可折叠项目展开而不是可折叠项目本身

转载 作者:行者123 更新时间:2023-11-28 01:51:05 26 4
gpt4 key购买 nike

我在移动网站上工作并使用 jquerymobile。我在 Accordion 中有 4 个可折叠元素。我想让其中一项保持扩展。如果我单击展开的项目,它会折叠(我不想折叠该项目)。如果我单击任何其他折叠的项目,最后展开的项目将折叠(没关系)。

我会感谢你的帮助。 Accordion 类别的动态 javascript 代码如下:

function create-accordion(categories)
{
category_array = categories;
jQuery.each(categories, function( index, value )
{
var div = '<div data-role="collapsible" class="custom-collapsible" ';
if(index == 0)
div += 'data-collapsed="false"';
div += '>';

div += '<h3 style:"padding:0px; margin:0px;"> ' + value.name + '</h3>\
<div class= "collapsable-limit-theme">\
<div data-role="content" style="padding:0px; margin:0px;">\
<div class="ui-grid-c, Grid" id="Grid' + value.id + '">\
</div>\
</div>\
</div>\
</div>';

$($('#accord'), this).append(div);
});

$( "#accord" ).collapsibleset( "refresh" );
}

和html代码

<div id="accord" data-role="collapsible-set" border-radius="0px" >
</div>

问候

最佳答案

您需要监听点击 .ui-collapsible-heading-toggle 并检查点击的可折叠项是折叠还是展开。如果 collapsible 被折叠,它将有一个类 .ui-collapsibe-collapsed

如果展开的可折叠项被点击,它将通过return false 阻止自身折叠,否则,它将折叠所有展开的项。

$(".ui-collapsible-heading-toggle").on("click", function () {

// clicked collaspible
var collapsible = $(this).closest(".ui-collapsible");

// check if its whether collapsed
if (collapsible.hasClass("ui-collapsible-collapsed")) {

// collapse expanded collapsibles
$(".ui-collapsible").not(collapsible).trigger("collapse");
} else {
// keep expanded clicked collapsible as is
return false;
}
});

Demo

关于javascript - 如何限制可折叠项目保持展开状态,除非我单击其他可折叠项目展开而不是可折叠项目本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19999841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com