Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
35
rated 0 times [  40] [ 5]  / answers: 1 / hits: 45044  / 9 Years ago, tue, march 17, 2015, 12:00:00

Trying to get the accordion open and collapse only when it's being clicked. I am able to open/collapse it but it is getting closed also when another accordion is clicked.



It should open or close on its own - independently from other accordions.



This is what I have tried.



JS:



$(document).on(click, .accordion-toggle, function () {
if ($(this).attr('class').indexOf('open') == -1)
$(this).toggleClass(open).next().slideToggle('fast');
//Hide the other panels
$(.accordion-toggle).not($(this)).removeClass(open);
$(.accordion-content).not($(this).next()).slideUp('fast');
});


Fiddle:
Demo


More From » html

 Answers
52

I have created a new fiddle with some css...



HTML



<div class=accordion-container>
<a href=# class=accordion-toggle>Heading 1</a>
<div class=accordion-content>
Content 1
</div>
</div>
<div class=accordion-container>
<a href=# class=accordion-toggle>Heading 2</a>
<div class=accordion-content>
Content 2
</div>
</div>
<div class=accordion-container>
<a href=# class=accordion-toggle>Heading 3</a>
<div class=accordion-content>
Content 3
</div>
</div>


JS



$(document).ready(function () {
$('.accordion-toggle').on('click', function(event){
event.preventDefault();
// create accordion variables
var accordion = $(this);
var accordionContent = accordion.next('.accordion-content');

// toggle accordion link open class
accordion.toggleClass(open);
// toggle accordion content
accordionContent.slideToggle(250);

});
});


please check this fiddle


[#67409] Saturday, March 14, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
turnerf

Total Points: 620
Total Questions: 101
Total Answers: 109

Location: French Polynesia
Member since Tue, Jul 7, 2020
4 Years ago
turnerf questions
;