盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

html 与css 与js结合完成折叠菜单的代码

时间:2024/4/9作者:未知来源:盾怪网教程人气:

[摘要]本篇文章给大家带来的内容是关于html 和css 和js结合实现折叠菜单的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1. 套用模板,将菜单的相关信息直接放在脚本数据中,使用...
本篇文章给大家带来的内容是关于html 和css 和js结合实现折叠菜单的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1. 套用模板,将菜单的相关信息直接放在脚本数据中,使用循环生成

<script id="templateNavBar" type="text/html">
    <p class="nav-bar-logo">

    </p>
    {{each $data as item i}}
        <p class="nav-item {{item.class}}">{{item.name}}</p>
        {{if item.child != null}}
            <p class="childgroup">
                {{each item.child as child i}}
                    <p class="nav-item {{child.class}} child">{{child.name}}</p>
                {{/each}}
            </p>
        {{/if}}
    {{/each}}
</script>

2.在js中通过添加类open的方式来实现菜单的折叠和展开

               $(document).on('click','.nav-item:not(.child)',function () {
              console.log("choosing");
              var that = $(this);
              var next =that.next();
              if(next.hasClass('childgroup')){
                  if (that.hasClass('open'))
                  {
                      // 收起当前菜单项
                      that.removeClass('open');
                      next.slideUp();
                  }
                  else{
                      // 将其他打开的菜单项收起来
                      if($('.nav-item:not(.child).open').next().hasClass('childgroup'))
                      {
                          $('.nav-item:not(.child).open').next().slideUp();
                          $('.nav-item:not(.child).open').removeClass('open');
                      }
                      // 激活当前菜单项
                      that.addClass('open');
                      next.slideDown();
                  }
              }
              // 监听一级菜单结束

这里面也有一些css的使用技巧在其中,希望自己能记住

相关推荐:

HTML中表格是如何操作制成的?(代码示例)

HTML对象:html一些对象属性的介绍

以上就是html 和css 和js结合实现折叠菜单的代码的详细内容,更多请关注php中文网其它相关文章!


网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。



关键词:html 与css 与js结合完成折叠菜单的代码




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版