• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

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

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

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

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







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

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

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

     



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

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



    這里我結(jié)合bootstrap 和 spring boot以及mysql來做一個(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í)分類,點(diǎn)擊第2級(jí)分類名稱則展示面包屑導(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">

        <!--頁頭-->

        <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="#">首頁</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ì)www.lzhte.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(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è)人資料

    存檔

    主站蜘蛛池模板: 精品成人免费自拍视频| 欧美另类视频在线观看| 亚洲精品在看在线观看高清| 麻豆第一区MV免费观看网站| 亚洲国产精品国语在线| 免费中文字幕一级毛片| GV无码免费无禁网站男男| 久久AV无码专区亚洲AV桃花岛| 欧美肏屄视频| 国产人妻另类综合在线| 免费看A级片| 国产免费视频一区二区| 成人亚欧欧美激情在线观看| 99国产精品白浆无码流出| 99re在线观看视频| 久久综合色播五月男人的天堂| 一区二区视频观看在线| 久久久无码精品午夜| 永吉县| 色网在线视频观看播放| 高清欧美性猛交xxxx黑人猛交| 永善县| 米奇精品一区二区三区| 无码成人AV在线一区二区| 亚洲国产欧美国产综合一区| 国产成人亚洲综合图区| 久久久精品456亚洲影院| 青青草极品视频在线播放| 卢氏县| 蜜桃av色偷偷av老熟女| 国产精品一区在线观看你懂的| 无码人妻AⅤ一区 二区 三区| 亚洲精品99久久久久中文字幕| 免费A级毛片无码免费视频120软件| 加勒比在线一区二区三区| 边摸边吃奶边做视频男人和女人| 日韩中文字幕在线乱码| 激情五月天婷婷| 国产午夜精品久久精品电影| 久久人人爽人人爽人人片av超碰| 波多野结衣爽到高潮漏水大喷 |