首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript创建手风琴式子菜单

问使用javascript创建手风琴式子菜单
EN

Stack Overflow用户
提问于 2018-07-25 04:06:53
回答 1查看 71关注 0票数 1

我想创建一个手风琴风格的菜单,类似于此演示可从W3学校获得。不过,我想改变几件事。

在我的手风琴菜单上,如果其中一个菜单选项已经展开(上面示例中的“活动”CSS类的一部分),并且用户单击了另一个菜单项,则当前展开的菜单应该会在刚刚单击的项展开之前崩溃。

有人能帮我实现这个目标吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-25 04:17:37

将javascript代码更改为

​

代码语言:javascript
复制
var acc = document.getElementsByClassName("accordion");
var i;

for (i = 0; i < acc.length; i++) {
  acc[i].addEventListener("click", function() {
    var clicked = this;
    [].slice.apply(acc).forEach(function(item, index){
      var panel = item.nextElementSibling,
          clicked_index = [].slice.apply(acc).indexOf(clicked);
      if (index !== clicked_index) {
      	item.classList.remove("active");
        panel.style.maxHeight = null;
      }     
    });    
    this.classList.toggle("active");
    var panel = this.nextElementSibling;
    if (panel.style.maxHeight){
      panel.style.maxHeight = null;
    } else {
      panel.style.maxHeight = panel.scrollHeight + "px";
    } 
  });
}

​

抱歉,我错过了,看看这个。我想这能解决你的问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51510636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档