gpt4 book ai didi

jquery - 可正确切换的 Accordion 样式列表

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:16 27 4
gpt4 key购买 nike

我有一个几乎可以正常工作的 Accordion ,如果您单独单击每个元素,它就会执行它应该执行的操作。如果您在一个元素处于事件状态时单击其他元素,但是当错误开始出现时,因为我不确定如何继续切换 sibling 的状态,他们会正确向上滑动,但我也希望他们改回来恢复到原来的颜色,.fa 图标恢复到原来的状态,边框底部重新出现。我在 Codepen 中有一个例子:

https://codepen.io/SergiOca/pen/dWexdW

 <body>

<div class="accordion-wrap">
<div class="accordion-item">
<p class="accordion-header"> Bordado <i class="fa fa-angle-down" aria-hidden="true"></i> </p>
</div>
<div class="accordion-text">
<p> Básica y de fantasía con apliques, metálicos, flocado, purpurina, lentejuelas, bolas, brillantes… alta frecuencia, sublimación, tránsfer, láser, hueco grabado, serigrafía digital, vinilo textil. </p>
</div>
</div>


<div class="accordion-wrap">
<div class="accordion-item">
<p class="accordion-header"> Bordado <i class="fa fa-angle-down" aria-hidden="true"></i> </p>
</div>
<div class="accordion-text">
<p> Básica y de fantasía con apliques, metálicos, flocado, purpurina, lentejuelas, bolas, brillantes… alta frecuencia, sublimación, tránsfer, láser, hueco grabado, serigrafía digital, vinilo textil. </p>
</div>
</div>


<div class="accordion-wrap">
<div class="accordion-item">
<p class="accordion-header"> Bordado <i class="fa fa-angle-down" aria-hidden="true"></i> </p>
</div>
<div class="accordion-text">
<p> Básica y de fantasía con apliques, metálicos, flocado, purpurina, lentejuelas, bolas, brillantes… alta frecuencia, sublimación, tránsfer, láser, hueco grabado, serigrafía digital, vinilo textil. </p>
</div>
</div>


</body>



body{
width: 50%;
margin: 0 auto;
padding-top: 5%;
}

.accordion-item{
width: 100%;
margin: 0 auto;
cursor: pointer;
border-bottom: 1px solid #ddba4d;
margin-top: 30px;
}

.accordion-wrap{
border-bottom: 1px solid #ddba4d;
}

.accordion-header{
transition: ease-in-out 100ms;
}

.accordion-text{
width: 100%;
border-bottom: 1px solid #ddba4d;
display: none;
padding-top: 5px;
padding-bottom: 20px;
}

.fa{
transition: ease-in-out 300ms;
}

.rotate-fa{
transform: rotate(180deg);
}


.accordion-header .fa{
float: right;
line-height: 35px;
}

.accordion-gold{
color: #ddba4d;
}

.accordion-no-bar{
border-bottom: 0;
}


$(".accordion-wrap").on("click", function(){
$(this).children().eq(1).slideToggle(300);
$(this).find(".accordion-header").toggleClass("accordion-gold");
$(this).find(".fa").toggleClass("rotate-fa");

$(".accordion-wrap .accordion-text").not($(this).children().eq(1)).slideUp(300);
});

最佳答案

基于您最初创建的 codepen,我添加了一个方法来删除所有其他 accordion-gold- 类。

所以我在您现有的代码中添加了一行 javascript 代码:

$(this).siblings().find(".accordion-header").removeClass("accordion-gold");

如果你将它应用到你的代码中,它应该看起来像这样:

/* acordion */
$(".accordion-wrap").on("click", function(){
$(this).children().eq(1).slideToggle(300);
$(this).children().eq(0).toggleClass("accordion-no-bar");
$(this).siblings().find(".accordion-header").removeClass("accordion-gold");
$(this).find(".accordion-header").toggleClass("accordion-gold");
$(this).find(".fa").toggleClass("rotate-fa");

$(".accordion-wrap .accordion-text").not($(this).children().eq(1)).slideUp(300);
});

希望这对您有所帮助!

关于jquery - 可正确切换的 Accordion 样式列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43963077/

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