明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

html 與css 與js結(jié)合完成折疊菜單的代碼

[摘要]本篇文章給大家?guī)淼膬?nèi)容是關(guān)于html 和css 和js結(jié)合實現(xiàn)折疊菜單的代碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。1. 套用模板,將菜單的相關(guān)信息直接放在腳本數(shù)據(jù)中,使用循環(huán)生成<script id="templateNavBar" type=...
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于html 和css 和js結(jié)合實現(xiàn)折疊菜單的代碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1. 套用模板,將菜單的相關(guān)信息直接放在腳本數(shù)據(jù)中,使用循環(huán)生成

<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的方式來實現(xiàn)菜單的折疊和展開

               $(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'))
                  {
                      // 收起當(dāng)前菜單項
                      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');
                      }
                      // 激活當(dāng)前菜單項
                      that.addClass('open');
                      next.slideDown();
                  }
              }
              // 監(jiān)聽一級菜單結(jié)束

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

相關(guān)推薦:

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

HTML對象:html一些對象屬性的介紹

以上就是html 和css 和js結(jié)合實現(xiàn)折疊菜單的代碼的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。