中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

bootstrap+springboot實現面包屑導航功能(前端代碼)

面包屑導航介紹

專注于為中小企業提供成都網站制作、網站設計、外貿網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業懷遠免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了1000多家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

一般的內容型網站,例如CMS都會有這種面包屑導航。總結起來它有以下優勢:

bootstrap+spring boot實現面包屑導航功能(前端代碼)

讓用戶了解目前所在的位置,以及當前頁面在整個網站中所在的位置;

體現了網站的架構層級;提高了用戶體驗;

減少返回到上一級頁面的操作;

實現效果

那我們應該如何實現?我看網上多數都是只提供靜態實現,

這里我結合bootstrap 和 spring boot以及MySQL來做一個完整的例子。

bootstrap+spring boot實現面包屑導航功能(前端代碼)

表結構設計

圖里面的菜單其實是分級維護上下級關系的。我這里用到了2級,表里有level字段標記。

點擊第1級加載第2級分類,點擊第2級分類名稱則展示面包屑導航。

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,'微服務實戰',1,2);
insert into tb_category values(5,'Java視頻',0,1);
insert into tb_category values(6,'Java基礎',5,2);
insert into tb_category values(7,'Java基礎',1,2);
commit;

前端代碼

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
   xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>響應式布局</title>
  <link  rel="stylesheet">
</head>
<body>
<input type="text" id="ctx" hidden="hidden" th:value="${#request.getContextPath()}">
<div class="container-fluid">
  <!--頁頭-->
  <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'}" rel="external nofollow" >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="https://cdn.bootcss.com/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
  var ctx=$("#ctx").val();
  $(function () {
    // 獲取一級菜單
    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){
            // 一級菜單
            if(level!=null){
              $.each(result.data, function (i, r) {
                text += '<li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ο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="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="list-group-item" οnclick="getBreadCrumb('+r.id+')">'+r.categoryName+'</a>'
              });
              $("#submenu-list").empty();
              $("#submenu-list").append(text);
            }
          }
        } else {
          alert(result.message);
        }
      }
    });
  }
  // 生成面包屑導航
  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="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >首頁</a></li>';
          $.each(result.data, function (i, r) {
            text += '<li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >'+r.categoryName+'</a></li>'
          });
          $(".breadcrumb").empty();
          $(".breadcrumb").append(text);
        }
      }
    })
  }
</script>
</body>
</html>

總結

以上所述是小編給大家介紹的bootstrap+spring boot實現面包屑導航功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創新互聯網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

新聞名稱:bootstrap+springboot實現面包屑導航功能(前端代碼)
文章網址:http://m.2m8n56k.cn/article26/jhgccg.html

成都網站建設公司_創新互聯,為您提供域名注冊商城網站軟件開發自適應網站企業網站制作手機網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都seo排名網站優化
主站蜘蛛池模板: 国产欧美日韩在线不卡第一页 | 美女视频一区二区三区在线 | 亚洲欧美综合一区二区三区四区 | 理论片中文字幕 | 精品国产成人a区在线观看 精品国产成人a在线观看 | 欧美巨大另类极品videohd | 免费a黄色 | 免费观看欧美精品成人毛片能看的 | 夜精品a一区二区三区 | 成人a毛片久久免费播放 | 韩国精品一区视频在线播放 | 91欧美在线视频 | 99久久综合狠狠综合久久一区 | 成人在线视频免费观看 | 国产成人在线观看免费网站 | 国产精品成人在线 | 成年午夜一级毛片视频 | 久久999精品 | 国产精品久久久久久搜索 | 性感一级毛片 | 一级做性色a爰片久久毛片免费 | 男人的天堂久久精品激情 | 国产一级毛片午夜 | 久久精品视频免费观看 | 国产一区二区三区在线视频 | 国产一区二区在线视频 | 成人a毛片免费全部播放 | 欧美成人手机视频免费播放 | 一级毛片视频在线 | 99久久精品视香蕉蕉er热资源 | 久久r这里只有精品 | 一区二区三区在线观看视频 | 亚洲色色色图 | 国产精品国产自线在线观看 | 亚洲第一页在线视频 | 日韩一级a毛片欧美区 | 久久18| 一本久| 女人张开腿让男人添 | 人碰人碰人成人免费视频 | 九草在线免费观看 |