我有 4 accordions < - 点击此处查看
class=".sa-hide-btn-[a,b,c,d]"
我的手风琴琴体有id="sa-collapse-[a,b,c,d]"
当我点击它们时,我注意到我的in
id="sa-collapse-[a,b,c,d]"
正在切换
是调整我的JS并且只允许 1 手风琴一次打开。
in
,并只添加到点击的那个。 var lists = [ "a", "b", "c", "d" ];
lists.forEach(function(list) {
$(".sa-report-btn-" + list).click(function () {
$("#sa-collapse-" + list).removeClass("in");
$(".sa-hide-" + list).removeClass("hidden");
$(".sa-report-" + list).addClass("hidden");
});
$(".sa-hide-btn-" + list).click(function () {
$("#sa-collapse-" + list).addClass("in");
$(".sa-hide-" + list).addClass("hidden");
$(".sa-report-" + list).removeClass("hidden");
});
每次点击它们,我的手风琴都会打开。
有人可以告诉我我错过了什么吗?
答案 0 :(得分:1)
你有一个名为列表的变量,但在下面,你使用了list,也许这就是问题?
答案 1 :(得分:0)
我通过这样做解决了这个问题
var lists = [ "a", "b", "c", "d" ];
lists.forEach(function(list) {
$(".sa-report-btn-" + list).click(function () {
$("*[class^='sa-report-']").removeClass("hidden");
$("*[class^='sa-hide-']").addClass("hidden");
$(".sa-hide-" + list).removeClass("hidden");
$(".sa-report-" + list).addClass("hidden");
$(".panel-collapse").removeClass("in");
$("#sa-collapse-" + list).find( $(".panel-collapse") ).addClass("in");
});
$(".sa-hide-btn-" + list).click(function () {
$(".sa-hide-" + list).addClass("hidden");
$(".sa-report-" + list).removeClass("hidden");
});