我怎样才能这样做,一次只能看到一个accoridion面板?

时间:2018-05-18 18:24:13

标签: jquery-ui-accordion

我知道这里已经有一些这样的问题,但是我已经尝试过了,但不幸的是,这些问题都没有。

任何帮助将不胜感激!我想要的是能够在打开另一个面板时折叠其他面板。

这是我当前的js脚本:

length(civil)

1 个答案:

答案 0 :(得分:0)

如果没有更多详细信息,我无法确定这是否有效,但是包括所有手风琴的循环以及与打开它们相反的方法应该可以解决问题。如果您需要更多帮助,则需要CSS和HTML的示例。

var acc = document.getElementsByClassName("accordion");
var i;

for (i = 0; i < acc.length; i++) {
  acc[i].addEventListener("click", function() {
    for (i = 0; i < acc.length; i++) {
      acc[i].classList.remove('active1');
      var panel = acc[i].nextElementSibling;
      if (panel.style.maxHeight){
        panel.style.maxHeight = panel.scrollHeight + "px";
      } else {
        panel.style.maxHeight = null;
      }
    }
    this.classList.add("active1");
    var panel = this.nextElementSibling;
    if (panel.style.maxHeight){
      panel.style.maxHeight = null;
    } else {
      panel.style.maxHeight = panel.scrollHeight + "px";
    }
  });
}