日本阿v片在线播放免费,成人国产片视频在线观看,日韩黄片毛片在线观看,一区亚洲电影,琪琪秋霞午夜av影视在线,中文字幕在线视频不卡,最新大伊香蕉精品视频在线,亚洲AV无码日韩一区二区乱

      bootstrap+spring boot實(shí)現(xiàn)面包屑導(dǎo)航

      2019-10-7    seo達(dá)人

      面包屑導(dǎo)航介紹

      一般的內(nèi)容型網(wǎng)站,例如CMS都會(huì)有這種面包屑導(dǎo)航。總結(jié)起來(lái)它有以下優(yōu)勢(shì):







      讓用戶了解目前所在的位置,以及當(dāng)前頁(yè)面在整個(gè)網(wǎng)站中所在的位置;

      體現(xiàn)了網(wǎng)站的架構(gòu)層級(jí);提高了用戶體驗(yàn);

      減少返回到上一級(jí)頁(yè)面的操作;

       



      實(shí)現(xiàn)效果

      那我們應(yīng)該如何實(shí)現(xiàn)?我看網(wǎng)上多數(shù)都是只提供靜態(tài)實(shí)現(xiàn),



      這里我結(jié)合bootstrap 和 spring boot以及mysql來(lái)做一個(gè)完整的例子。







      表結(jié)構(gòu)設(shè)計(jì)

      圖里面的菜單其實(shí)是分級(jí)維護(hù)上下級(jí)關(guān)系的。我這里用到了2級(jí),表里有l(wèi)evel字段標(biāo)記。



      點(diǎn)擊第1級(jí)加載第2級(jí)分類(lèi),點(diǎn)擊第2級(jí)分類(lèi)名稱則展示面包屑導(dǎo)航。



      CREATE TABLE tb_category (

        id bigint(20) NOT NULL AUTO_INCREMENT,

        category_name varchar(100) NOT NULL,

        parent_id bigint(20) DEFAULT NULL,

        level tinyint(1) DEFAULT NULL,

        PRIMARY KEY (id)

      ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

      insert into tb_category values(1,'Java文檔',0,1);

      insert into tb_category values(2,'Java多線程',1,2);

      insert into tb_category values(3,'Spring Boot',1,2);

      insert into tb_category values(4,'微服務(wù)實(shí)戰(zhàn)',1,2);

       

      insert into tb_category values(5,'Java視頻',0,1);

      insert into tb_category values(6,'Java基礎(chǔ)',5,2);

      insert into tb_category values(7,'Java基礎(chǔ)',1,2);

      commit;

       



      前端代碼

      <!DOCTYPE html>

      <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"

            xmlns:sec=";

       

      <head>

          <meta charset="utf-8">

          <meta name="viewport" content="width=device-width, initial-scale=1.0">

          <title>響應(yīng)式布局</title>

          <link href="
      https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

      </head>

       

      <body>

      <input type="text" id="ctx" hidden="hidden" th:value="${#request.getContextPath()}">

      <div class="container-fluid">

          <!--頁(yè)頭-->

          <nav class="navbar navbar-inverse">

              <div class="container-fluid">

                  <!-- Brand and toggle get grouped for better mobile display -->

                  <div class="navbar-header">

                      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"

                              data-target="#bs-example-navbar-collapse-1" aria-expanded="false">

                          <span class="sr-only">Toggle navigation</span>

                          <span class="icon-bar"></span>

                          <span class="icon-bar"></span>

                          <span class="icon-bar"></span>

                      </button>

                      <a class="navbar-brand" th:href="@{'/breadCrumb'}">Java分享</a>

                  </div>

       

                  <!-- Collect the nav links, forms, and other content for toggling -->

                  <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">

                      <ul class="nav navbar-nav" id="navbar">

                      </ul>

                  </div>

              </div>

          </nav>

          <!--面包屑-->

          <ol class="breadcrumb">

          </ol>

          <div class="list-group" id="submenu-list">

          </div>

      </div>

      <script src=";

      <script src="
      ;

      <script>

          var ctx=$("#ctx").val();

          $(function () {

             // 獲取一級(jí)菜單

              getMenu(null,1);

          });

       

          function getMenu(id, level){

              var json = {parentId:id,level:level};

              $.ajax({

                  url: ctx+"/myCategory/list",

                  type: "POST",

                  contentType: "application/json",

                  dataType: "json",

                  data: JSON.stringify(json),

                  success: function (result) {

                      var text='';

                      if (result.success) {

                          if(result.data != null){

                              // 一級(jí)菜單

                              if(level!=null){

       

                                  $.each(result.data, function (i, r) {

                                      text += '<li><a href="#" οnclick="getMenu('+r.id+')">'+r.categoryName+'</a></li>'

                                  });

                                  $("#navbar").empty();

                                  $("#navbar").append(text);

                              }

                              // 子菜單

                              if(id!=null){

                                  $.each(result.data, function (i, r) {

                                      console.log(i);

                                      text += '<a href="#" class="list-group-item" οnclick="getBreadCrumb('+r.id+')">'+r.categoryName+'</a>'

                                  });

                                  $("#submenu-list").empty();

                                  $("#submenu-list").append(text);

                              }

                          }

                      } else {

                          alert(result.message);

                      }

                  }

              });

          }

       

          // 生成面包屑導(dǎo)航

          function getBreadCrumb(id) {

              var param = {id:id};

              $.ajax({

                  url: ctx+"/myCategory/getParentList",

                  type: "GET",

                  data: {"id":id},

                  success: function (result) {

                      var text='';

                      if(result.data!=null){

                          text = '<li><a href="#">首頁(yè)</a></li>';

                          $.each(result.data, function (i, r) {

                              text += '<li><a href="#">'+r.categoryName+'</a></li>'

                          });

       

                          $(".breadcrumb").empty();

                          $(".breadcrumb").append(text);

                      }

                  }

              })

          }

      </script>

      </body>

       

      </html>

      藍(lán)藍(lán)設(shè)計(jì)m.jjddy.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì)  cs界面設(shè)計(jì)  ipad界面設(shè)計(jì)  包裝設(shè)計(jì)  圖標(biāo)定制  用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)

      日歷

      鏈接

      個(gè)人資料

      存檔