У меня есть аккордеон, который закрывает один элемент при щелчке другого, а также просто щелкает один раз, чтобы открыть и дважды закрыть (accordionButton). Все работает отлично от добавления и удаления двух классов, которые контролируют, если у него есть открытая или закрытая стрелка 'accordionButtonActive' & 'accordionButtonNotactive' Поскольку это контролируется по щелчку, он не удаляет и не добавляет новый класс, если он закрыт щелкнув еще один, а не нажимая снова, чтобы закрыть, что отлично работает.JQuery addClass removeClass for accordion
Я новичок в JQuery и был напуган. Мне удалось заставить эту работу работать до сих пор, теперь я немного озадачен, чтобы сделать эту последнюю функцию функции так, как должна.
JQuery:
$("div.accordionButton").addClass("accordionButtonNotactive");
//ACCORDION BUTTON ACTION
$('div.accordionButton').click(function() {
if($(this).next().is(':visible')) {
$('div.accordionContent').slideUp('normal');
$(this).addClass("accordionButtonNotactive").removeClass("accordionButtonActive");
} else {
$('div.accordionContent').slideUp('normal');
$(this).next().slideDown('normal');
$(this).removeClass("accordionButtonNotactive").addClass("accordionButtonActive");
}
});
//OPEN FIRST
$("#open").trigger('click');
});
Простой HTML:
<div class="accordionButton" id="open">Title</div>
<div class="accordionContent">
<p>Content</p>
</div>
Работает, спасибо, спасибо! – sarah3585