Javascript 将折叠/展开onClick嵌套子菜单添加到现有菜单树

Javascript 将折叠/展开onClick嵌套子菜单添加到现有菜单树,javascript,html,css,menu,submenu,Javascript,Html,Css,Menu,Submenu,我正在使用下面现有的第三方代码来实现单级可扩展/可折叠菜单。我想添加一个嵌套的子菜单,其功能与顶级“opener”span类相同 但是,当我尝试将“opener”CSS和JS复制到一个新的“sub-opener”类中时,子菜单总是展开(可见),并且不会随着onClick事件而崩溃。可能是因为它从“opener”类继承了“active”类?那么,我怎样才能: 使“opener”span类逻辑忽略嵌套的“sub opener”span类,和/或 做些什么,使嵌套的“子opener”类独立运行,并与父

我正在使用下面现有的第三方代码来实现单级可扩展/可折叠菜单。我想添加一个嵌套的子菜单,其功能与顶级“opener”span类相同

但是,当我尝试将“opener”CSS和JS复制到一个新的“sub-opener”类中时,子菜单总是展开(可见),并且不会随着onClick事件而崩溃。可能是因为它从“opener”类继承了“active”类?那么,我怎样才能:

  • 使“opener”span类逻辑忽略嵌套的“sub opener”span类,和/或
  • 做些什么,使嵌套的“子opener”类独立运行,并与父“opener”类并行运行
  • CSS

    #菜单ul a.opener,#菜单ul span.opener{
    -moz过渡:颜色0.2s缓进缓出;
    -webkit过渡:颜色0.2s易入易出;
    -ms转换:颜色0.2s易入易出;
    过渡:颜色0.2s,易于输入输出;
    文字装饰:无;
    -webkit点击突出显示颜色:rgba(255、255、255、0);
    位置:相对位置;
    字号:1em;
    }
    #菜单ul a.opener:before,#菜单ul span.opener:before{
    -moz osx字体平滑:灰度;
    -webkit字体平滑:抗锯齿;
    显示:内联块;
    字体风格:普通;
    字体变体:正常;
    文本呈现:自动;
    线高:1;
    文本转换:无!重要;
    字体系列:“字体真棒5免费”;
    字号:900;
    }
    #菜单ul a.opener:before,#菜单ul span.opener:before{
    -moz变换:颜色0.2s缓进-缓出,-moz变换0.2s缓进-缓出;
    -webkit转换:颜色0.2s缓进缓出,-webkit转换0.2s缓进缓出;
    -ms转换:颜色0.2s缓进缓出,-ms转换0.2s缓进缓出;
    过渡:颜色0.2s缓进缓出,变换0.2s缓进缓出;
    颜色:#3e3935;
    内容:'\f078';
    位置:绝对位置;
    右:0;
    填充:0.6em 0!重要;
    }
    #菜单ul a.opener:hover:before,#菜单ul span.opener:hover:before{
    颜色:#00a5b5;
    }
    #菜单ul a.opener.active+ul,#菜单ul span.opener.active+ul{
    显示:块;
    }
    #菜单ul a.opener.active:before,#菜单ul span.opener.active:before{
    -moz变换:旋转(-180度);
    -webkit变换:旋转(-180度);
    -ms变换:旋转(-180度);
    变换:旋转(-180度);
    
    }
    您的代码很难阅读。请清理你的代码。制作一个片段。将所有片段混合在一个长片段中?