html、css和js组合实现折叠菜单的代码分享

今天小编给大家分享的是html、css和js组合实现折叠菜单的代码,很多人都不太了解,今天小编为了让大家更加了解折叠菜单的代码,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站制作、网站设计、网站策划、网页设计、域名注册雅安服务器托管、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

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、css和js组合实现折叠菜单的代码就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

分享标题:html、css和js组合实现折叠菜单的代码分享
URL分享:https://www.cdcxhl.com/article10/phodgo.html

成都网站建设公司_创新互联,为您提供外贸网站建设网站营销搜索引擎优化动态网站Google关键词优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发