Skip to content Skip to sidebar Skip to footer

Bootstrap Accordion Menu Not Working

I have designed a accordion menu like in the image. If you click a menu the opened menu will get closed.This is the functionality of accordion. But in this design i've clicks menu

Solution 1:

Please have a look at this jQuery approach:

if (!$(this).hasClass("active")) {
     var oldAcc = $(".accordion.active");
     oldAcc.toggleClass("active");
     oldAcc.next().toggleClass("show");
}

With above code we are getting reference to already opened accordion and closing it before opening the other one.

jQuery(document).ready(function() {

  $(".accordion").click(function() {
    if (!$(this).hasClass("active")) {
      var oldAcc = $(".accordion.active");
      oldAcc.toggleClass("active");
      oldAcc.next().toggleClass("show");
    }
    $(this).toggleClass("active");
    $(this).next().toggleClass("show");


  });

});
.boot-accordian {
  padding-top: 2%;
}
.boot-accordianbutton.accordion {
  text-transform: uppercase;
  background-color: #362f29;
  color: #e96f0a;
  cursor: pointer;
  width: 100%;
  border: none;
  border-top: 1px solid #3e352c;
  border-bottom: 1px solid #3e352c;
  text-align: left;
  outline: none;
  font-size: 15px;
  transition: 0.4s;
  padding: 0.8%1%0.8%3%;
}
.boot-accordian.para {
  padding-left: 1px;
  padding-top: 2%;
  font-size: 15px;
}
.boot-accordianbutton.accordion.active,
.boot-accordianbutton.accordion:hover {
  background-color: #362f29;
}
.boot-accordianbutton.accordion:after {
  font-size: 13px;
  font-family: FontAwesome;
  content: "\f067";
  color: @color_24;
  float: right;
}
.boot-accordianbutton.accordion.active:after {
  content: "\f068";
  font-family: FontAwesome;
  font-size: 13px;
}
.boot-accordiandiv.panel {
  padding: 018px;
  display: none;
  background-color: #433a31;
}
.boot-accordiandiv.panel.show {
  display: block;
  margin: 0;
  padding-bottom: 5%;
}
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><divclass="boot-accordian"><buttonclass="accordion">listings</button><divclass="panel"><pclass="para">Store all the necessary contract information such as important dates, closer & agent contact information, special contract teams, etc. You can even upload digital copies of contracts, title policies - and send important date reminders to your Outlook
      or Google Calendar accounts, iphone or Blackberry.</p></div><buttonclass="accordion">contract information</button><divclass="panel"><pclass="para">Store all the necessary contract information such as important dates, closer & agent contact information, special contract teams, etc. You can even upload digital copies of contracts, title policies - and send important date reminders to your Outlook
      or Google Calendar accounts, iphone or Blackberry.</p></div><buttonclass="accordion">letter templates</button><divclass="panel"><pclass="para">Store all the necessary contract information such as important dates, closer & agent contact information, special contract teams, etc. You can even upload digital copies of contracts, title policies - and send important date reminders to your Outlook
      or Google Calendaraccounts, iphone or Blackberry.</p></div><buttonclass="accordion">tasks and task templates</button><divclass="panel"><pclass="para">Store all the necessary contract information such as important dates, closer & agent contact information, special contract teams, etc. You can even upload digital copies of contracts, title policies - and send important date reminders to your Outlook
      or Google Calendar accounts, iphone or Blackberry.</p></div><buttonclass="accordion">secure file storage</button><divclass="panel"><pclass="para">Store all the necessary contract information such as important dates, closer & agent contact information, special contract teams, etc. You can even upload digital copies of contracts, title policies - and send important date reminders to your Outlook
      or Google Calendar accounts, iphone or Blackberry.</p></div><buttonclass="accordion">reports</button><divclass="panel"><pclass="para">Store all the necessary contract information such as important dates, closer & agent contact information, special contract teams, etc. You can even upload digital copies of contracts, title policies - and send important date reminders to your Outlook
      or Google Calendar accounts, iphone or Blackberry.</p></div></div>

Solution 2:

Note: first this is not bootstrap accordion

here is solution just add these 2 lines when you click

$(".accordion").removeClass("active");
$(".panel").removeClass("show");

better to write some thing like this way (Pure JQuery)

jQuery(document).ready(function() {
    $(".accordion").click(function(){
    $(".accordion").removeClass("active");
    $(".panel").removeClass("show");
    $(this).addClass("active");
    $(this).next(".panel").addClass("show");
  })
});

fiddle

Solution 3:

If you're simply wanting one to slide down while the others slide back up, use the following code:

$('.accordion').click(function() {
    var targetElement = $(this).next('.panel');
    targetElement.slideToggle();
    targetElement.siblings('.panel').slideUp();
});

example here CODEPEN

ENJOY... :)

Solution 4:

Just do it right with jQuery:

jQuery(document).ready(function () {
  $('.accordion').on('click', function() {
    var target = $(this),
      activeEl = $('.active'),
      openedEl = $('.show');

      // remove the active state
      activeEl.removeClass('active');
      openedEl.removeClass('show');
      // add active state for unactive elements onlyif(!target.is(activeEl)) {
        target.addClass('active');
        target.next().addClass('show');
      }
  });
});

Post a Comment for "Bootstrap Accordion Menu Not Working"